Алгоритм Евклида нахождения наибольшего общего делителя двух целых чисел заключается в проведении следующей последовательности операций деления с остатком:
а = q • b + r, где 0 £ r <b,
b=q1•r+ r1, где 0£r1<r,
r =q2•r1+ r2, где 0£r2<r1,
r1 =q3•r2+ r3, где 0£r3<r2,
…
rk =qk+2•rk+1+ rk+2, где 0£rk+2<rk+1,
…
rп-1 =qп+1•rп.
Корректное завершение алгоритма гарантируется тем, что остатки от делений образуют строго убывающую последовательность натуральных чисел. Из приведенных равенств следует, что
(а, b) = (b, r) = (r, r1) =... = (rn-1, rn) = rn.
Поэтому наибольший делитель чисел а и b совпадает с rn.
НОД двух чисел равен последнему отличному от нуля остатку в алгоритме Евклида.
Как следствие из алгоритма Евклида, можно получить утверждение, что наибольший делитель целых чисел а и b может быть представлен в виде линейной комбинации этих чисел, т. е. существуют целые числа и и v такие, что справедливо равенство
а • и + b • v = rn.
Пример. Применим алгоритм Евклида к нахождению (175, 77).
(1) 175=77•2+21,
(2) 77=21•3+14,
(3) 21 =14 • 1 + 7,
(4) 14 = 7 • 2.
Последний положительный остаток – r3 = 7. Значит, (175, 77) = 7.
Из предпоследнего соотношения (3) имеем
21 – 14 • 1 =7.
Подставляя сюда вместо 14 его представление из (2) получим
21 – (77 – 21•3) • 1 =7 или 21•4 – 77•1=7.
Подставляя сюда вместо 21 его представление из (1) получим
(175 – 77•2)•4 – 77•1=7 или 175•4 – 77•9=7.
Понятие наибольшего общего делители можно ввести и для нескольких чисел а1,а2,...,ап. Его обозначают (а1,а2,...,ап). Наибольший общий делитель нескольких чисел можно вычислить последовательно. Например, (а1,а2,а3)= ((а1,а2),ап), (а1,а2, а3,а4)= ((а1,а2, а3),а4) и т.д.