Source: https://www.imo.universite-paris-saclay.fr/~merker/Enseignement/Algebre-effective/algorithme-euclide.pdf