4.1. История проблемы и ее решения
Задачами, приводящими к решению уравнений в целых числах, математики интересовались со времен Пифагора (VI в. до н.э.). Давно известно, что некоторые уравнения вообще не имеют решений в целых числах (например, 2x+2y=1, поскольку при любых целых x,y левая часть является четным числом). Другие имеют конечное число решений (например, x2+y2=2 сводится к x2=1, y2=1, т.е. получаются четыре решения). Наконец, бывают уравнения, имеющие бесконечно много решений в целых числах. В качестве примера рассмотрим уравнение 3x-7y=1. Решая относительно x, получаем
x = (7y+1)/3 = 2y + (y+1)/3.
Число (y+1)/3 должно быть целым, обозначим его через t, тогда y=3t-1, x=2y+t=7t-2. Какое бы t мы ни взяли, получается целое решение уравнения.
По каким признакам определить, имеет ли данное уравнение решения в целых числах, и если имеет - то сколько их? Прежде чем искать ответ на этот вопрос, следует уточнить класс уравнений, о котором идет речь. Имеются в виду уравнения типа P=Q, где P, Q - выражения, составленные из символов неизвестных (их может быть один, два, три и больше), из целых чисел и операций сложения, вычитания и умножения. Уравнения такого рода (при условии, что нас интересуют только целые решения) принято называть диофантовыми уравнениями (в честь Диофанта, который в III в. н.э. занимался задачами, приводящими к таким уравнениям). Говоря современным языком, речь идет о решении в целых числах уравнений вида P=0, где P - полином (от одной или нескольких переменных) с целыми коэффициентами.
Следующий способ решения любого уравнения первой степени с двумя неизвестными был известен еще в средние века. Пусть дано уравнение ax+by=c. Если наибольший общий делитель чисел a, b не является делителем числа c, то уравнение не имеет целых решений. Если является - делим обе стороны уравнения на этот общий делитель и начинаем применять метод редукции коэффициентов (как выше, при решении уравнения 3x-7y=1). Через конечное число шагов приходим к формулам вида x=dt+e, y=gt+h, которые при любом t дают решение исходного уравнения ax+by=c (решений в этом случае получается бесконечно много, поскольку всегда d, g<>0).
Далее, общий метод решения диофантовых уравнений второй степени с двумя неизвестными был найден Ж.Лагранжем в XVIII в.
К сожалению, это почти все сколько-нибудь общие результаты исчерпывающего характера. Остальные исследования давали множество тонких, но частных методов, применимых к уравнениям третьей, четвертой степени и т.д. весьма специальных видов (а то и только к отдельному уравнению). Чем объясняется этот контраст между первоначальными успехами и отсутствием дальнейшего продвижения (несмотря на исключительное развитие математики в целом)?
В августе 1900 г. в Париже состоялся II Международный конгресс математиков. 8 августа Д.Гильберт прочитал на нем доклад "Математические проблемы". Среди 23 проблем, решение которых (по мнению Д.Гильберта) совершенно необходимо было получить в наступающем XX в., десятую проблему он определил следующим образом (см. Д.Гильберт [1900]):
"Пусть задано диофантово уравнение с произвольным числом неизвестных и целыми рациональными числовыми коэффициентами. Указать способ, при помощи которого возможно после конечного числа операций установить, разрешимо ли это уравнение в целых рациональных числах".
Сама формулировка показывает, что тогда, в 1900 г., с определенностью можно было говорить только о положительном решении десятой проблемы Гильберта - об "указании способа". Что для всего огромного разнообразия уравнений единый "способ решения" может отсутствовать - мысль о такой возможности в 1900 г. никому не приходила в голову. Лишь в 30-х гг. оформилось математически точное понятие алгоритма ("способа, который после конечного числа операций дает ответ", см. раздел 3.3). Пока класс всех возможных "способов" не был определен с математической точностью, нельзя было серьезно говорить о доказательстве невозможности общего "способа" для решения какого-либо вида задач.
К концу 40-х гг. вера в адекватность математически точного понятия алгоритма укоренилась уже настолько, что можно было серьезно ставить вопрос об отрицательном решении десятой проблемы Гильберта (и других классических проблем, касающихся существования алгоритмов). Т.е. можно было говорить о строгом доказательстве невозможности алгоритма, который по данному диофантову уравнению определял бы, имеет ли оно решение в целых числах или нет. Гипотезу, что десятая проблема Гильберта алгоритмически неразрешима, первым выдвинул (с достаточным на то основанием) американский математик М.Дэвис в 1949 г. Доказательство этой гипотезы растянулось на 20 лет - последний шаг был сделан только в 1970 г.
М.Дэвис наметил следующий путь доказательства своей гипотезы. Сначала он перешел от решения уравнений в целых числах к решению в натуральных числах (область, более привычная для теории алгоритмов).
Упражнение 4.1. Покажите, что алгоритм, определяющий разрешимость диофантовых уравнений в целых числах, существует, если и только если существует алгоритм, определяющий их разрешимость в натуральных числах. (В своих рассуждениях можете использовать тот факт, что полином x2+y2+z2+t2 при всевозможных целых значениях x, y, z, t принимает в качестве значений все натуральные числа. Это известная теорема Лагранжа о том, что каждое натуральное число представимо в виде суммы четырех квадратов, см. например, А.А.Бухштаб [1966]. )
Итак, М.Дэвис предлагал доказывать невозможность алгоритма, определяющего разрешимость диофантовых уравнений в натуральных числах. Каким же образом?
Упражнение 4.2. Пусть P(a, x1, ..., xn)=0 - диофантово уравнение, содержащее параметр a. Проверьте, что множество S тех значений a, для которых уравнение разрешимо в натуральных числах, является эффективно перечислимым.
Если бы удалось построить уравнение (с параметром a) такое, что множество S оказалось бы неразрешимым, то цель была бы достигнута. Простейший способ доказать, что S может быть неразрешимым (будучи эффективно перечислимым), - показать, что в качестве S, при подходящем выборе уравнения, может выступать произвольное эффективно перечислимое множество (как известно, среди эффективно перечислимых множеств существуют неразрешимые).
Исходя из таких соображений, М.Дэвис ввел понятие диофантовых представлений. Пусть R(a1, ..., am) - предикат для натуральных чисел. Формулу
(Ex1)...(Exn) P(a1, ..., am, x1, ..., xn)=0,
где P - полином с целыми коэффициентами, будем называть диофантовым представлением предиката R, если эта формула истинна для тех и только тех наборов (a1, ... am), для которых истинным является предикат R. Например, предикат "a - четное число" имеет следующее диофантово представление:
(Ex) a-2x=0.
Таким образом, диофантово представление предиката R - это диофантово уравнение с параметрами (a1, .., am ), которое разрешимо (в натуральных числах), если и только если R(a1, ..., am) истинно.
Ясно, что всякий предикат, обладающий диофантовым представлением, эффективно перечислим (упражнение 4.2). М.Дэвис предположил, что для всякого эффективно перечислимого предиката существует диофантово представление. Если это так, то отсюда вытекает алгоритмическая неразрешимость десятой проблемы Гильберта. Возьмем эффективно перечислимое неразрешимое множество S, построим диофантово представление a in S:
(Ex1)...(Exn)P(a, x1, ..., xn) = 0.
Тогда невозможен алгоритм, определяющий по числу a, разрешимо ли уравнение P(a, x1, ..., xn)=0 в натуральных числах (что и требовалось).
В 1949 г. М.Дэвису удалось сделать только первый шаг в намеченном направлении: он показал, что всякий эффективно перечислимый предикат R(a1, ..., am) можно представить в виде
(Ey)(Az<=y)(Ex1)...(Exn) P(a1, ..., am, y, z, x1, ..., xn) = 0.
Избавиться от квантора Az<=y М.Дэвису тогда не удалось.
Следующий успех был достигнут в 1960 г.: М.Дэвис совместно с Х.Патнэмом доказали, что для любого эффективно перечислимого предиката R(a1, ..., am) можно получить представление вида
(Ex1)...(Exn) X(a1, ..., am, x1, ..., xn) = 0,
где выражение X получено из символов a1, ..., am, x1, ..., xn и натуральных чисел применением операций сложения, вычитания, умножения и возведения в степень (например, x2y+z - yz + 3 = 0). Правда, доказательство Дэвиса-Патнэма содержало пробел (они воспользовались не доказанной до сих пор гипотезой о существовании произвольно длинных арифметических прогрессий, состоящих только из простых чисел). Восполнить этот пробел удалось Дж.Робинсон в 1961 г. Уравнения вида X(a1, ..., am, x1, ..., xn) = 0 были названы показательно-диофантовыми уравнениями. Из теоремы Дэвиса-Патнэма-Робинсон вытекала невозможность алгоритма, определяющего, разрешимо ли данное показательно-диофантово уравнение в натуральных числах. Это был крупный успех, однако до полной победы оставалось еще почти 10 лет.
Более того, даже после 1961 г. не все еще поверили, что дело удастся намеченным путем довести до конца (показав, что всякий эффективно перечислимый предикат обладает диофантовым представлением). Если взять предикаты "a - простое число" и "a - степень числа 2" и вообразить, что построены их диофантовы представления:
"a - простое число" <-> (Ex1)...(Exn) P(a, x1, ..., xn) = 0,
"a - степень двойки" <-> (Ey1)...(Eyk) Q(a, y1, ..., yk) = 0,
то получится, что уравнение P=0 разрешимо, если и только если a - простое число, а уравнение Q=0 - если и только если a имеет вид 2m. Такая возможность сильно противоречила сложившейся теоретико-числовой интуиции (согласно этой интуиции, простые числа и экспонента настолько далеко отстоят от полиномов, что между ними никогда нельзя будет установить простую связь). И тем не менее в 1970 г. советскому математику Юрию Владимировичу Матиясевичу (см. Ю.В.Матиясевич [1970]) удалось сделать последний и решающий шаг - получить диофантово представление экспоненты:
a=bc <-> (Ex1)...(Exn) P(a, b ,c ,x1, ..., xn) = 0.
С помощью этого представления легко исключить операцию возведения в степень из представлений Дэвиса-Патнэма-Робинсон и таким образом получить диофантово представление для любого эффективно перечислимого предиката. Тем самым в 1970 г. алгоритмическая неразрешимость десятой проблемы Гильберта была доказана полностью.
Алгоритмическая неразрешимость объясняет отмеченные выше трудности с решением диофантовых уравнений высоких степеней. Общего метода, определяющего, разрешимо ли любое данное диофантово уравнение, не существует. Поэтому всякий метод определения разрешимости неизбежно оказывается частным - применимым только к уравнениям специального вида. Одновременно такая принципиальная ограниченность всякого метода обеспечивает неограниченный простор для творчества в данной области математики.
В последующих разделах излагается доказательство существования диофантовых представлений для любого эффективно перечислимого предиката.
Упражнение 4.3. Покажите, что проблема разрешимости произвольного диофантова уравнения может быть сведена к проблеме разрешимости: а) системы диофантовых уравнений 2-й степени или б) диофантова уравнения 4-й степени. Таким образом, проблема разрешимости систем уравнений 2-й степени и уравнений 4-й степени оказывается уже алгоритмически неразрешимой. Не случайно поэтому, что до сих пор не найдены сколько-нибудь общие методы решения диофантовых уравнений 4-й степени.
4.2. Начало и план доказательства
Диофантово представление предиката является по существу формулой специального вида в языке EA (нужно только в уравнении P=0 перенести в правую сторону члены с отрицательными коэффициентами). Вспомним, что, доказывая представимость в EA любой вычислимой функции, мы уже получили некоторые специальные формулы EA, представляющие предикаты вида f(a1, ..., am) = b, где f - произвольная вычислимая функция.
Упражнение 4.4. Проверьте по тексту раздела 3.3, что эти формулы были образованы с помощью только следующих средств:
а) элементарных формул вида s=t, s<t, где s, t - термы EA (полиномы с целыми положительными коэффициентами),
б) конъюнкции и дизъюнкции,
в) квантора существования,
г) ограниченного квантора всеобщности, а именно квантора Ax<=U, где U - линейная функция вида b1y +b2y2+...+bkyk+c с натуральными коэффициентами b1, b2, ..., bk, c.
В своей работе 1949 г. М.Дэвис также исходил из подобного результата. Важнейшей (с точки зрения наших целей) особенностью представляющих формул является отсутствие в них символов отрицания и неограниченных кванторов всеобщности. "Недостатком" отрицаний и кванторов всеобщности является то, что они выводят за пределы класса эффективно перечислимых предикатов (если R - эффективно перечислимый предикат, то ~R уже не обязательно таков, аналогично - в случае перехода от R(x,y) к (Ay)R(x,y)). Формулы, содержащие такие средства, в общем случае невозможно перевести в диофантовы представления.
Итак, мы начинаем с эффективно перечислимого предиката R(a1, ..., am). Построим машину Тьюринга M(R), которая печатает на своей ленте все возможные наборы чисел a1, ..., am, удовлетворяющие предикату R(a1, ..., am). Тогда следующая функция вычислима:
f(a1, ..., am, t) = 1, если после t шагов работы машины M(R) набор чисел a1, ..., am на ленте уже напечатан,
f(a1, ..., am, t) = 0, иначе.
По теореме о представимости можно построить формулу EA, которая представляет функцию f и содержит только средства, перечисленные в пп. а)-г) упражнения 4.4. Если F(a1, ..., am, t ,w) - эта формула (w соответствует значению функции), то
R(a1, ..., am) <-> (Et) F(a1, ..., am, t, 1).
Тем самым доказано, что предикат R равносилен некоторой формуле, построенной только с помощью средств, перечисленных в а)-г). Теперь мы должны научиться преобразовывать такие формулы в диофантовы представления. Начнем "изнутри" - с элементарных формул. Формула вида s=t уже является диофантовым представлением (без кванторов). Формулу вида s<t можно заменить формулой (Ex)(s+x+1=t), которая уже является диофантовым представлением. Теперь можно переходить к средствам б)-г), с помощью которых строятся более сложные формулы.
Упражнение 4.5. Покажите, что конъюнкцию и дизъюнкцию двух диофантовых представлений (E)P=0, (E)Q=0 можно преобразовать в диофантово представление.
Таким образом, если в нашем процессе преобразования, начинающемся с элементарных формул, встречаются символы &, V, мы знаем, как от них освободиться. Если встретился символ E, он может остаться на своем месте (если (E)P=0 - диофантово представление, то (EE)P=0 - также). Но что делать, если встретился квантор Az<=t ? Пусть то, что находилось за ним, мы уже привели к виду диофантова представления
(Az<=t)(Ex1)...(Exn) P(b1, ..., bk, y, x1, ..., xn) = 0 (1)
(напомним, что t - линейная функция с натуральными коэффициентами от b1, ..., bk). Мы хотим заменить (1) диофантовым представлением вида
(Ey1)...(Eys)Q(b1, ..., bk, y, ..., ys) = 0, (2)
но как это сделать?
Оказывается, что это очень сложная задача: преобразовать формулу вида (1) в формулу вида (2). Будем называть ее задачей устранения ограниченного квантора всеобщности (короче: устранения A<=). Решив эту задачу, мы тем самым решим до конца задачу преобразования формул, образованных с помощью средств а)-г), в диофантовы представления, т.е. одновременно докажем существование представлений для любых эффективно перечислимых предикатов.
Итак, решаем задачу устранения A<=. План наших действий:
1) Подробно исследовать свойства решений уравнения x2-(a2-1)y2=1 (a>1). Оказывается, это уравнение имеет в натуральных числах бесконечно много решений. Если n-е решение обозначить через (xn(a), yn(a)), то xn(a) и yn(a) растут экспоненциально по n. Этим и обусловлен наш интерес к данному уравнению.
2) Опираясь на полученную информацию, построить диофантово представление предиката
R(a, x ,y, n) <-> x=xn(a) & y=yn(a),
т.е. предиката, который при фиксированном a требует от x и y экспоненциального роста по n.
3) Используя диофантово представление предиката R, получить диофантово представление экспоненты, т.е. предиката x=yz & v>=3.
4) Получить диофантовы представления для числа сочетаний и факториала (т.е. для предикатов x=Cyz и x=y!).
5) Используя все полученные диофантовы представления, научиться устранять A<=.
Задачи 1), 2) были решены Ю.В.Матиясевичем, задачи 3), 4) - Дж.Робинсон, задача 5) - совместно М.Дэвисом, Х.Патнэмом и Дж.Робинсон.
Чтобы сделать наши рассуждения по возможности наглядными, воспользуемся языком сравнений. Сравнение - это нечто вроде равенства, только не точное равенство, а равенство с точностью до слагаемого, кратного модулю (по которому рассматривается сравнение). Например, число 18 сравнимо с 78 по модулю 10:
18 = 78 mod 10,
поскольку 78=18+6*10. Число сравнимо с нулем по модулю m, если и только если оно делится на m: x = 0 mod m означает, что x=0+k*m для некоторого k.
Упражнение 4.6. Докажите следующие свойства сравнений (позволяющие обращаться с ними как с обычными равенствами):
a = a mod m,
a = b mod m -> b = a mod m,
a = b mod m & b = c mod m -> a = c mod m,
a = b mod m & a1 = b1 mod m -> a+a1 = b+b1 mod m,
a = b mod m & a1 = b1 mod m -> a*a1 = b*b1 mod m,
a*c = b*c mod m -> a = b mod m, если c взаимно просто с m,
a*c = b*c mоd (c*m) -> a = b mod m, если c взаимно просто с m.
4.3. Исследование уравнения Ферма
Уравнение x2-Dy2 =1 (где D>0) играет центральную роль в теории диофантовых уравнений второй степени с двумя неизвестными. Если коэффициент D является полным квадратом (D=k2), то решение уравнения сводится к системам линейных уравнений:
x2 - k2y2 = (x - ky) (x + ky) = 1,
x-ky=1 & x+ky=1 -> x=1 & y=0,
x-ky=-1 & x+ky=-1 -> x=-1 & y=0.
Таким образом, получаются только два решения.
Значительно более интересен случай, когда D не является полным квадратом. Совершенно неожиданно в этом случае уравнение x2 - Dy2 = 1 всегда имеет бесконечно много решений в натуральных числах! Это знал еще П.Ферма в XVII в., но первое строгое доказательство было дано только Ж.Лагранжем (XVIII в.). Простейшим для анализа уравнение Ферма оказывается при D=a2-1:
x2 - (a2 - 1)y2 = 1.
Два его решения можно угадать (проверьте): x=1 & y=0, x=a & y=1. Остальные решения (в натуральных числах) получаются с помощью следующего остроумного рассуждения. Возьмем выражение (a+sqrt(a2-1))n и разложим его по формуле бинома Ньютона. В результате часть членов будут целыми числами, другая же часть будет содержать множитель sqrt(a2-1). Например, для n=2
(a+sqrt(a2-1)) 2 = a2 + 2a sqrt(a2-1) + (a2-1).
Сводя вместе члены в каждой части, получаем
(a+sqrt(a2-1))n = xn(a) + yn(a) sqrt(a2-1),
где xn(a), yn(a) - натуральные числа (например, x2(a)=2a2 -1 & y2(a)=2a). Аналогично
(a-sqrt(a2-1))n = xn(a) - yn(a) sqrt(a2-1)
(с теми же xn, yn - проверьте, что это действительно так!). Перемножая оба последних равенства, получаем
(a2-a2+1)n = xn2 - (a2-1)yn2 ,
xn2 - (a2-1)yn2 = 1.
Таким образом, при любом n>=0 пара чисел x=xn(a), y=yn(a) является решением уравнения x2 - (a2 -1)y2 = 1. При n=0, 1 получаются уже известные нам тривиальные решения (1,0), (a,1), при n=2 - новое решение (2a2-1, 2a).
Из нашего определения чисел xn(a), yn(a) легко получить рекуррентные соотношения, позволяющие вычислить xm+n, ym+n, если уже известны xm, ym, xn, yn (m, n >= 0):
xm+n(a) = xm(a) xn(a) + ym(a) yn(a)(a2-1),
ym+n(a) = xm(a) yn(a) + ym(a) xn(a).
В частности, при m=1:
xn+1(a) = a xn(a) + (a2-1) yn(a),
yn+1(a) = xn(a) + a yn(a).
Упражнение 4.7. Докажите эти соотношения. Докажите также, что xn(a), yn(a) возрастают по n (т.е. что действительно получается бесконечно много решений уравнения x2-(a2-1)y2=1).
Оказывается, что последовательность {(xn, yn) | n>=0} исчерпывает все решения нашего уравнения.
ЛЕММА 1. При a>1
x2-(a2-1)y=1 <-> (En)(x=xn(a) & y=yn(a)).
Д о к а з а т е л ь с т в о. 1) Влево. Это мы уже знаем.
2) Вправо. Пусть числа x,y удовлетворяют уравнению. Если x<=1, то x=1 и y=0, т.е. x=x0(a) и y=y0(a).
Пусть теперь x>1. Тогда y>0. Если мы рассчитываем показать, что x=xn(a) & y=yn(a) для некоторого n>0, то x,y должны выражаться через xn-1, yn-1 в соответствии с известными нам рекуррентными соотношениями, т.е. должно существовать решение (u,v) нашего уравнения такое, что
x = au + (a2-1)v,
y = u+av.
Решая эту систему относительно u, v, получаем
u = ax - (a2-1)y,
v = -x + ay. (3)
Таким образом, u, v - целые числа.
Упражнение 4.8. Проверьте, что u2-(a2-1)v2=1 (т.е. что (u, v) является решением уравнения), а также, что 0<u<x и v>=0.
Итак, если пара (x, y) является решением уравнения x2-(a2-1)y2=1, то числа x, y выражаются по формулам (3) через другое решение (u, v) этого уравнения, такое, что u<x. Если оказывается, что также u>1, то пара (u, v) выражается аналогично через решение (u', v') такое, что u'<u. "Спуск" может удаваться только конечное число (скажем, n) раз, и после этого будет достигнута ситуация, когда u<=1, т.е. u=x0(a) и v=y0(a) и, таким образом, x=xn(a) & y=yn(a).
Лемма 1 доказана.
Все это очень красиво, но почему уравнением Ферма заинтересовались, решая десятую проблему Гильберта? Заинтересовались им при поиске диофантова представления экспоненты. Найти такое представление, скажем, для предиката
Q(b) <-> (En)b=2n
- это значит найти диофантово уравнение P(b, z1, ..., zk)=0 с параметром b, такое, что решение (z1, ..., zk ) существует, если и только если b является степенью числа 2. Таким образом, диофантово условие P=0 должно "заставить" параметр b расти со скоростью экспоненты. Уравнение Ферма дает как раз нечто подобное.
ЛЕММА 2. При a>1 и n>=0
an <= xn(a) <= (a+sqrt(a2-1))n.
Д о к а з а т е л ь с т в о.
xn(a) - yn(a)sqrt(a2-1) = (a+sqrt(a2-1))n = an + Cn1 an-1 sqrt(a2-1) + ...,
что и требовалось доказать.
Таким образом, xn(a) растет по n со скоростью экспоненты (хотя и не следует точно ни одной из экспонент вида (a+a1)n), и это достигнуто через диофантово условие на x
(Ey)(x2 - (a2-1) y2 =1).
Именно поэтому уравнение Ферма интересно как отправная точка в поисках диофантова представления экспоненты. (Эти соображения принадлежат Дж.Робинсон и относятся еще к 1952 г.)
По идее Ю.В.Матиясевича, теперь мы должны провести исследование остатков, получающихся при взаимном делении чисел xn(a), yn(a).
Сначала, пусть n фиксировано, n>0 (при n=0 мы имели бы x0(a)=1, и ничего интересного не получается). Будем изучать остатки от деления xN(a) на xn(a), где N=0, 1, 2, ... Для этого рассмотрим по модулю xn(a) известные рекуррентные соотношения для xm+n, ym+n (по модулю xn - это значит, что мы будем пренебрегать слагаемыми, кратными xn ):
xm+n(a) = xm(a) xn(a) + ym(a) yn(a)(a -1) = (a2-1)ymyn,
ym+n(a) = xm(a) yn(a) + ym(a) xn(a) = xmyn.
Подставляя m+n вместо m, получаем
xm+2n = (a2-1)ym+n yn = (a2-1)xmyn2,
ym+2n = xm+nyn = (a2-1)ymyn2 .
Заметим теперь, что xn2-(a2-1)yn2 =1, т.е. по модулю xn
(a2-1)yn 2 = x n 2 - 1 = -1.
Подставляя вместо (a2-1)yn число -1, получаем
xm+2n = - xm, (4)
ym+2n = - ym.
Подставляя здесь m+2n вместо m, имеем
xm+4n = - xm+2n = xm,
ym+4n = - ym+2n = ym.
Таким образом, остатки от деления x (a) на x (a) меняются по N с периодом 4n. Поэтому достаточно изучить поведение остатков при N=0, 1, 2, ..., 4n-1.
Согласно (4)
x0 = x0, x1 = x1, ..., x2n-1 = x2n-1,
x2n = - x0, x2n+1 = - x1, ..., x4n-1 = - x2n-1.
Аналогично для yN(a). Дело, однако, еще не доведено до конца, поскольку числа xn+1 , ..., x2n-1, участвующие в характеристике остатков, все еще больше делителя xn. Чтобы довести дело до конца, рассмотрим соотношения, выражающие x2n, y2n через x2n-m, y2n-m, xm, ym :
x2n = x2n-m xm + (a2-1)y2n-m ym,
y2n = x2n-m ym + y2n-m xm.
Решая эту систему относительно x2n-m, y2n-m, получаем
x2n-m = x2n xm - (a2-1)y2n ym,
y2n-m = y2n x-m - x2n ym.
Учитывая, что x2n = - x0 = -1, y2n = - y0 = 0 (по модулю xn), имеем
x2n--m = - xm,
y2n-m = y2m.
Теперь нашу характеристику остатков от деления xN(a) на xn(a) (внутри периода 4n) можно довести до конца:
x 0 = x 0, x 1 = x 1, ..., x n-1 = x n-1,
xn = - xn, xn+1 = - xn-1, ..., x2n-1 = - x1,
x2n = - x0, x2n+1 = - x1, ..., x3n-1 = - xn-1,
x3n = xn, x3n+1 = xn-1, ..., x4n-1 = x1.
Ясно, что вместо xn и -xn здесь можно было написать просто нуль, но это нарушило бы симметрию.)
Имея такую характеристику, можно доказать следующую лемму Ю.В.Матиясевича.
ЛЕММА 3. Пусть a>=3, n>=1, 0<m<n. Тогда для всех N
xN(a) = xm(a) mod xn(a) <-> (N = +m mod 4n)V(N = -m mod 4n).
Д о к а з а т е л ь с т в о. 1) Влево. Если N=4kn+m или N=4kn-m, то xN=xm mod xn вытекает непосредственно из полученной выше характеристики.
2) Вправо. Пусть известно, что xN=xm mod xn, где 0<m<n. Разделим число N на 4n и найдем остаток: N=4kn+m', где 0<=m'<4n. Если 0<m'<n, то из нашей характеристики следует, что m'=m и N=4kn+m, что и требовалось. Если 3n<m', то из характеристики следует, что m'=4n-m и N=4(k+1)n-m.
Упражнение 4.9. Покажите, что третий случай m'=0 или n<=m'<=3n невозможен (учтите, что при a>2: i<n -> xi(a) < xn(a)/2).
Лемма 3 доказана.
Теперь мы должны провести аналогичное исследование остатков от деления yN(a) на yn(a) (n>=1 фиксировано, N=0, 1, 2, ...).
Упражнение 4.10. Проведите это исследование самостоятельно. Период получится длиной в 2n, а внутри периода остатки будут вести себя таким образом:
y0 = y0, y1 = y1, ..., yn-1 = yn-1,
yn = - yn, yn+1 = - yn-1, ..., y2n-1 = - y1.
Из всего этого нас интересует только условие, при котором yN(a) делится на yn(a) (еще одна лемма Ю.В.Матиясевича):
ЛЕММА 4. Пусть a>=2, n>=1. Тогда yN(a) делится на yn(a), сли и только если N делится на n.
Д о к а з а т е л ь с т в о вытекает непосредственно из полученной характеристики.
Еще одна важная лемма Ю.В.Матиясевича дает условие, при котором yN(a) делится не только на yn(a), но и на yn2(a).
ЛЕММА 5. Пусть a>=2. Тогда yN(a) делится на yn(a), если и только если N делится на nyn(a).
Д о к а з а т е л ь с т в о. Легко проверить (индукцией по k), что по модулю yn2
xkn = xnk,
ykn = kxnk-1yn.
1) Импликация вправо. Если yN делится на yn2 , то по лемме 4: N = kn. Если ykn делится на yn2 , то число kxnk-1yn также должно делиться на yn2 , т.е. kxnk-1 должно делиться на yN. Поскольку xn2-(a2-1)yn2 =1, то xn не может иметь общих делителей с yn, поэтому на yn должно делиться само число k. Так как N=kn, то теперь nyn делит N, что и требовалось.
2) Влево. Если nyn делит N, то N=kn, где yn делит k. Поэтому yn2 делит kxnk-1yn, т.е. yn2 делит и ykn = yN , что и требовалось.
Лемма 5 доказана.
В дальнейшем нам потребуются еще три леммы. Первая из них принадлежит Дж.Робинсон, остальные две тривиальны.
ЛЕММА 6. При a>=2 и n>=0
xn(a) = 1 mod(a-1),
yn(a) = n mod(a-1).
ЛЕММА 7. При a,a'>=2 и b>=1, если a = a' mod b, для всех n:
xn(a) <-> xn(a') mod b,
yn(a) <-> yn(a') mod b.
ЛЕММА 8. При a>=2 и k>=0 по модулю 2
x2k = 1, x2k+1 = a, y2k = 0, y2k = 1.
Упражнение 4.11. Докажите эти леммы с помощью индукции.
4.4. Диофантово представление последовательности решений уравнения Ферма
Сейчас мы должны построить диофантово представление для предиката
Q(a, x, y, n) <-> a>=3 & x=xn(a) & y=yn(a).
Какие "диофантовы условия" следует наложить на числа x, y, чтобы "заставить" их равняться xn(a) и yn(a)? Прежде всего, разумеется, условие
E1: x2 - (a2-1) y2 = 1.
Отсюда следует, что существует ni такое, что x=xni(a) и y=yni(a). Само значение ni мы пока не знаем. Но какие условия следует наложить на x, y, чтобы оказалось, что ni=n? Из леммы 6 мы знаем, что y = n mod(a-1), поэтому можно было бы потребовать y =n mod(a-1), тогда отсюда следовало бы ni = n mod(a-1). К сожалению, если n>=a-1, то отсюда еще нельзя будет вывести, что ni=n.
Чтобы обойти эту трудность, приходится идти в обход в самом прямом смысле. Введем новое уравнение Ферма со свободным параметром a' и обозначим некоторое его решение через (x', y'):
E2: x'2 - (a'2-1) y'2 = 1.
И теперь потребуем не y = n mod(a-1), а
E3: y' = n mod(a'-1)
(в расчете, что a'-1 можно будет сделать больше n). Поскольку для некоторого mi имеет место x' = xmi(a') & y' = ymi(a'), то по лемме 6 y' = mi mod(a'-1) и поэтому
mi = n mod(a'-1). (1)
Но так как мы "ушли в сторону" от исходного уравнения, от успеха пользы никакой не будет, если мы не сумеем найти "обратный путь" - нужно подходящим образом связать решение (x', y') с интересующим нас решением (x, y). Введем для этого новый модуль сравнения, обозначим его через X и потребуем, чтобы выполнялось условие
E4: a' = a mod X & x' = x mod X.
Тогда новые числа a', x' не будут "слишком сильно отличаться" от старых a, x, причем, изменяя X, мы можем надеяться добиться максимально тесной связи. Теперь по лемме 7 a' = a mod X дает
x = xni(a) = xni(a') mod X,
x' = xmi(a') = xmi(a) mod X.
По условию x' = x mod X* отсюда получается
xmi(a) = xni(a) mod X. (2)
Чтобы создать условия для применения леммы 3 (она здесь сама напрашивается), модуль X следует сделать решением уравнения Ферма с параметром a. Введем поэтому еще одно число Y и условие
E4: X2 - (a2-1) Y2 = 1.
Отсюда X=xN(a) и Y=yN(a) для некоторого N и (2) принимает вид
xmi(a) = xni(a) mod xN(a).
При a>=3 здесь можно было бы применить лемму 3, однако надо обеспечить еще 0<ni<N, поэтому введем условие
E6: 0<x<X
(поскольку 0<xni(a)=x<X=xN(a) и xi(a) возрастает по i). Наконец, по лемме 3
mi = +-ni mod 4N. (3)
Сравним это с (1):
mi = n mod(a'-1).
Наша конечная цель - обеспечить ni=n, т.е. оба последних сравнения нужно "свести вместе" к одному модулю. Для этого нужно найти достаточно большой общий делитель чисел 4N и a'-1. Числом a'-1 мы можем распоряжаться относительно свободно, но как получить делитель числа N, которое само нам неизвестно? Здесь помощь оказывает лемма 5: yni2(a) делит yN(a), если и только если ni*yni(a) делит N. Короче: y2 делит Y, если и только если ni*y делит N. Поэтому, если мы потребуем
E7: y делит Y,
то 4y будет делителем 4N (мы опускаем неизвестное число ni, которое не сумели бы сделать делителем модуля a'-1). Теперь нужно потребовать еще
E8: 4y делит a'-1
(будем надеяться, что это требование не будет противоречить остальным условиям, наложенным на a'). Тогда (1) вместе с (3) дает
mi = +-ni mod 4y & mi = n mod 4y
и отсюда
n = +-ni mod 4y.
Другими словами, n+ni или n-ni делится на 4y. Поскольку y=yni(a) возрастает по ni, то y>=ni, поэтому мы можем смело потребовать также
E9: n<=y
(напомним, что мы добиваемся равенства ni=n, т.е. желательно "наделить" n свойствами, присущими ni). Рассмотрим теперь отдельно две упомянутые возможности:
1) n+ni делится на 4y. Поскольку n+ni<=2y, то это возможно только при n=ni=0, что и требовалось.
2) n-ni делится на 4y. Поскольку |n-ni|<=y, то это возможно только при n=ni, что и требовалось.
Вспомнив, что x=xni(a) и y=yni(a), мы можем утверждать теперь, что из условия
a>=3 & E a'x'y'XY (E1&E2&E3&E4&E5&E6&E7&E8&E9) (4)
вытекает, что x=xn(a) и y=yn(a), т.е. Q(a, x, y, n).
Упражнение 4.12. Покажите, как (4) можно преобразовать в диофантово представление вида (E)P=0. Оцените число кванторов E, степень полинома P и сумму модулей его коэффициентов.
Решение нашей задачи будет завершено лишь, если удастся показать, что из Q(a, x, y, n) , т.е. из a>=3 & x=xn(a) & y=yn(a) также следует условие (4). (В частности, только тогда и будет установлена взаимная непротиворечивость требований Ei.)
Итак, зная, что а>=3 & x=xn(a) & y=yn(a), мы должны найти числа a', x' ,y' ,X, Y такие, что имеют место Ei для всех i=1, 2, ..., 9. Отметим сразу, что выполнение E1 уже обеспечено леммой 1, а выполнение E9 - тем обстоятельством, что yn(a)>=n для всех n.
Числа X, Y (решение того же уравнения, что x, y) определим следующим образом: пусть N - любое число, делящееся на nyn(a)=ny; возьмем X=xN(a) и Y=yN(a). Этим будет обеспечено условие E5, а по лемме 5 тогда y делит Y, что обеспечивает E7.
Остается указать число a', определяющее вспомогательное уравнение, и его решение x', y'. При этом мы должны выполнить следующие условия:
E2: x'2 - (a'2-1) y'2 = 1,
E3: y' = n mod(a'-1),
E4: a' = a mod X & x' = x mod X,
E8: a' = 1 mod 4y.
Случай n=0 (тогда x=1, y=0) здесь приходится разбирать отдельно. Тогда E8 требует a'=1, затем E3 требует y'=0, E2 - x'=1, наконец, E4 требует a = 1 mod X. Только последнее требование грозит "нарушить гармонию", но, к счастью, из-за y=0 мы вынуждены были выбрать N=0, поэтому X=1!
Пусть теперь n>0. Тогда y>0. Руководствуясь E4 и E7 , сначала укажем a'. Если бы модули X, 4y оказались взаимно простыми, существование числа a' вытекало бы из китайской теоремы об остатках (см. раздел 3.3). Убедимся, что X и 4y действительно взаимно просты. Во-первых, X должно быть нечетным числом. Этого можно добиться, если взять число N четным (лемма 8). (Напомним, что до сих пор мы требовали от N лишь делимость на ny.) Во-вторых, y и X не имеют общих делителей, поскольку y2 делит Y, а X2-(a2-1)Y2=1. Таким образом, существование числа a', удовлетворяющего условиям E4 и E8, обеспечено (причем, очевидно, можно выбрать a'>1).
Остается определить x', y'. Возьмем x'=xn(a') и y'=yn(a'), тогда автоматически выполняется E2, а по лемме 6 - и E3. Наконец, так как x=xn(a) и a'=a mod X, то по лемме x'=x mod X, т.е. обеспечена вторая половина условия E4.
Это все, что требовалось: из Q(a, x, y, n) мы вывели (4).