§ 4. Алгоритм Евклида
1. Общая теория.
Читатель прекрасно знаком с обыкновенной процедурой «длинного» деления одного целого числа а на другое число
и знает, что эту процедуру можно продолжать до тех пор, пока остаток не станет меньше, чем делитель. Так, если
то мы получаем частное
и остаток
По этому поводу можно сформулировать следующую общую теорему: если а и
целые числа, причем
отлично от нуля, то можно всегда найти такое целое число
что
где
есть целое число, удовлетворяющее неравенству
Докажем эту теорему независимо от процедуры длинного деления. Достаточно заметить, что число а или само есть кратное числа
или же лежит между двумя последовательными кратными
В первом случае равенство (1) оправдывается, причем
Во втором случае из первого неравенства вытекает, что
а из второго, что
так что число
в этом случае удовлетворяет условию
Из указанного обстоятельства можно вывести большое число различных важных следствий. Первое из них — это метод для нахождения общего наибольшего делителя двух целых чисел.
Пусть а и
два каких-то целых числа, не равных одновременно нулю; рассмотрим совокупность всех чисел, на которые делятся и
и
Эта совокупность, несомненно, конечная, так как, если, например,
то никакое число, большее чем а, не может быть делителем а. Отсюда следует, что число общих делителей а и b конечно: пусть
через
обозначен наибольший из них. Число
называется общим наибольшим делителем а и
и мы условимся обозначать его
если
то непосредственная проверка показывает, что
если
то мы точно так же получаем
Если а и
достаточно большие числа, например,
то попытки найти общий наибольший делитель с помощью непосредственных проб довольно утомительны. Короткий и вполне надежный метод вытекает из алгоритма Евклида. (Алгоритмом называют всякий систематизированный прием вычисления.) Он основан на том обстоятельстве, что из соотношения вида
необходимо следует, что
В самом деле, всякое число и, которое одновременно делит и а и
делит также и
так как
и обратно, всякое число
которое одновременно делит
и
делит также и а, так как
Значит, каждый общий делитель а и
есть вместе с тем общий делитель
и
и обратно. Но раз совокупность всех общих делителей а и
совпадает с совокупностью всех общих делителей
и
то ясно, что общий наибольший делитель а и
должен совпадать с общим наибольшим делителем
и
А это и выражено равенством (3). Мы сейчас убедимся в полезности установленного обстоятельства.
Для этого вернемся к примеру нахождения общего наибольшего делителя чисел 1804 и 328. Обыкновенное «длинное» деление
приводит нас к заключению, что
Отсюда, на основании (3), следует, что
Заметим, что задача вычисления общего наибольшего делителя (1804, 328) заменена теперь аналогичной задачей, но зависящей от меньших чисел. Можно продолжать эту процедуру. Так как
то мы получаем дальше
так что (328, 164)
Значит, (1804, 328)
и общий наибольший делитель найден.
Эта самая процедура нахождения общего наибольшего делителя двух чисел в геометрической форме описана в «Началах» Евклида. Мы дадим ее общее описание в арифметической форме, исходя из произвольных целых чисел а и
которые оба одновременно не равны нулю.
Так как сразу ясно, что
то можно допустить, что
Последовательные деления приводят нас к цепи равенств
Деление продолжается, пока какой-нибудь из остатков
не обратится в нуль. Рассматривая неравенства, выписанные справа, мы видим, что последовательно получаемые остатки образуют убывающую последовательность положительных чисел:
Отсюда ясно, что после конечного числа делений (нужно сделать не более
операций, но часто гораздо меньше, так как разности между соседними
обыкновенно превышают единицу) должен получиться остаток 0:
Как только это получилось, мы можем утверждать, что
другими словами, общий наибольший делитель
равен последнему остатку в последовательности (5). Это следует из многократного применения равенства (3) к соотношениям (4); в самом деле, из этих соотношений следует:
Упражнение. Выполните алгоритм Евклида с целью нахождения общего наибольшего делителя: а) 187; 77 б) 105; 385. в) 245; 193.
Из равенств (4) можно вывести одно чрезвычайно важное свойство общего наибольшего делителя
Если
то можно найти такие целые положительные или отрицательные числа к и I, что
Чтобы убедиться в этом, рассмотрим последовательные остатки (5). Первое из равенств (4) нам дает
так что
может быть записано в форме
(в данном случае
Из следующего равенства получается:
Очевидно, такое же рассуждение можно по очереди применить ко всем остаткам
пока не придем к представлению
которое мы и желали получить.
В качестве примера рассмотрим алгоритм Евклида в применении к нахождению (61,24): общий наибольший делитель есть 1, и интересующее нас представление числа 1 получается из равенств
Первое из этих равенств дает
второе —
третье —
и, наконец, четвертое —