Понятие диофантового уравнения
Давайте поговорим о диофантовых уравнениях. Что же это за зверь такой?
В сущности, это алгебраические уравнения, у которых коэффициенты и искомые переменные – целые числа.
Вот, скажем, Знакомая картинка, правда? Это же теорема Пифагора, описывающая соотношение сторон в прямоугольном треугольнике. И если мы ищем целочисленные решения, то есть такие, где , и – целые числа, – мы как раз и имеем дело с диофантовым уравнением. Такие решения, кстати, называются пифагоровыми тройками – например, (3, 4, 5) или (5, 12, 13).
В отличие от обычных алгебраических уравнений, где мы ищем решения в вещественных или комплексных числах, в диофантовых уравнениях нас интересуют только целые числа. Это, казалось бы, небольшое ограничение радикально меняет картину. Например, уравнение имеет бесконечно много решений в вещественных числах – это же просто уравнение окружности с радиусом 1. А вот в целых числах решений всего четыре: (1, 0), (-1, 0), (0, 1), (0, -1). Чувствуете разницу?
Диофантовы уравнения бывают самых разных степеней. Линейные диофантовы уравнения вида достаточно просты для анализа, и мы имеем чёткий алгоритм для нахождения их решений. А вот с уравнениями более высоких степеней всё становится гораздо сложнее. Возьмём, к примеру, знаменитое уравнение Ферма для . Доказательство Великой теоремы Ферма, утверждающей, что это уравнение не имеет нетривиальных целых решений, заняло математиков несколько столетий и потребовало мощнейшего математического аппарата.
Или вот ещё один пример: уравнение Пелля , где – натуральное число, не являющееся полным квадратом. Оказывается, оно всегда имеет бесконечно много решений в целых числах. И нахождение этих решений – уже совсем нетривиальная задача.
Общие принципы решения таких уравнений
Универсального метода решения всех диофантовых уравнений, к сожалению, не существует. Это одна из сложностей, которая делает их такими интересными. Каждый тип уравнений требует своего подхода, и зачастую решение сводится к остроумным трюкам и применению специфических теорем.
Однако можно выделить некоторые общие принципы и методы, которые часто используются:
Метод разложения на множители
Если уравнение можно представить в виде произведения, равного константе, то можно перебрать возможные значения множителей. Например, уравнение в целых числах. Поскольку и так далее, мы можем найти все пары целых чисел , которые удовлетворяют уравнению.
Модульная арифметика
Анализ уравнения по модулю некоторого числа может помочь определить, существуют ли вообще решения. Например, рассмотрим уравнение . Легко заметить, что если остаток от деления на 4 равен 3, то (квадратичный вычет). С учетом того, что число 3 является квадратичным вычетом по модулю 4, сумма двух квадратов даст либо 0, либо 1, либо 2 по модулю 4. В то же время квадрат может давать по модулю 4 либо 0, либо 1, поэтому мы имеем ограничения на решения уравнения. Давайте рассмотрим простой пример, где использование модульной арифметики помогает показать отсутствие целочисленных решений. Возьмём уравнение
Допустим, существуют целые числа и , удовлетворяющие этому уравнению. Рассмотрим это уравнение по модулю 3. Это означает, что мы интересуемся только остатками от деления на 3. Запишем это так
Так как делится на 3, оно сравнимо с 0 по модулю 3. Также 7 имеет остаток 1 от деления на 3, поэтому . Подставим эти сравнения в исходное уравнение:
Это означает, что квадрат числа должен давать остаток 1 при делении на 3. Давайте проверим возможные значения по модулю 3:
Если , то
Если , то
Если , то
Таким образом, может иметь остаток 0 или 1 при делении на 3, но не может иметь остаток 2. Наше сравнение выполняется, если даёт остаток 1 или 2 при делении на 3.
Однако это не означает, что исходное уравнение имеет решение, мы лишь показали, что если решения существуют, то должно иметь определенный вид. Попробуем найти решения для вида и
Если , то . Таким образом, любое будет давать нам целочисленное решение.
Если , то . Аналогично, любое целочисленное будет давать нам целочисленные решения.
Например, при для первого случая имеем и, соответственно . При для второго случая и . Тогда . И действительно, исходное уравнение имеет решения в целых числах, несмотря на все наши проверки.
Метод бесконечного спуска
Этот метод, восходящий ещё к Ферма, позволяет доказать отсутствие решений в некоторых случаях. Идея состоит в том, чтобы показать, что из любого решения можно получить другое, “меньшее” решение, и так далее. Но целые числа не могут неограниченно уменьшаться, поэтому это приводит к противоречию. Давайте проиллюстрируем метод бесконечного спуска на классическом примере: доказательстве того, что уравнение не имеет решений в натуральных числах. Это, кстати, частный случай Великой теоремы Ферма для .
Допустим, существует решение в натуральных числах. Можно считать, что , и взаимно просты (если бы у них был общий делитель , то мы могли бы разделить все переменные на ).
Тогда тройка образует пифагорову тройку. Используя известную параметризацию пифагоровых троек, можно записать:
где и – взаимно простые натуральные числа разной чётности, и .
Из второго уравнения видно, что – четное число, значит, и – чётное. Поскольку и взаимно простые и — полный квадрат, значит, и или наоборот, для некоторых натуральных и .
Из первого уравнения имеем . Это очень похоже на исходное уравнение. Более того, если обозначить , и подставить в исходное уравнение значение и вместо , то можно сделать вывод, что для некоторого целого значения выполняется равенство . И мы снова получаем уравнение вида — то же самое, с чего начали. Обратите внимание, что здесь мы конструируем «меньшее» решение .
Если из существования одного решения следует существование другого решения , где , то мы можем продолжить этот процесс бесконечно. Но это невозможно, поскольку натуральные числа не могут неограниченно уменьшаться. Следовательно, исходное уравнение не имеет решений в натуральных числах.
Геометрическая интерпретация
Иногда полезно представить диофантово уравнение как геометрический объект, например, кривую на плоскости. Тогда задача сводится к поиску точек с целочисленными координатами на этой кривой.
Давайте рассмотрим пример: линейное диофантово уравнение .
Один из способов решения — использовать расширенный алгоритм Евклида. Найдем наибольший общий делитель (НОД) коэффициентов 2 и 3. НОД(2,3)=1, и 1 делит 5, значит, у уравнения есть целые решения. С помощью расширенного алгоритма Евклида, находим, что , и домножая полученное выражение на 5, получаем: . Значит, одним из решений является .
Общее решение имеет вид:
,
где – любое целое число.
Комментарии