Source: https://project.inria.fr/minf/files/2013/03/DivisionRacineCarrée.pdf