Source: http://educmath.ens-lyon.fr/Educmath/ressources/etudes/pierre-arnoux/duverney3