Как стать автором
Обновить

Математический детектив: поиск положительных целых решений уравнения

Время на прочтение 9 мин
Количество просмотров 53K
Автор оригинала: Alon Amit
«Я экспериментировал с задачами кубического представления в стиле предыдущей работы Эндрю и Ричарда Гая. Численные результаты были потрясающими…» (комментарий на MathOverflow)
Вот так ушедший на покой математик Аллан Маклауд наткнулся на это уравнение несколько лет назад. И оно действительно очень интересно. Честно говоря, это одно из лучших диофантовых уравнений, которое я когда-либо видел, но видел я их не очень много.

Я нашёл его, когда оно начало распространяться как выцепляющая в сети нердов картинка-псевдомем, придуманная чьим-то безжалостным умом (Сридхар, это был ты?). Я не понял сразу, что это такое. Картинка выглядела так:


«95% людей не решат эту загадку. Сможете найти положительные целочисленные значения?»

Вы наверно уже видели похожие картинки-мемы. Это всегда чистейший мусор, кликбэйты: «95% выпускников МТИ не решат её!». «Она» — это какая-нибудь глупая или плохо сформулированная задачка, или же тривиальная разминка для мозга.

Но эта картинка совсем другая. Этот мем — умная или злобная шутка. Примерно у 99,999995% людей нет ни малейших шансов её решить, в том числе и у доброй части математиков из ведущих университетов, не занимающихся теорией чисел. Да, она решаема, но при этом по-настоящему сложна. (Кстати, её не придумал Сридхар, точнее, не он полностью. См. историю в этом комментарии).

Вы можете подумать, что если ничего другое не помогает, то можно просто заставить компьютер решать её. Очень просто написать компьютерную программу для поиска решений этого кажущегося простым уравнения. Разумеется, компьютер рано или поздно найдёт их, если они существуют. Большая ошибка. Здесь метод простого перебора компьютером будет бесполезен.

Не знаю, удастся ли уместить полное решение в статью, если не принять, что все уже знают всё необходимое об эллиптических кривых. Я могу привести здесь только краткий обзор. Основной справочный источник — это чудесная, относительно недавняя работа Бремнера и Маклауда под названием «An unusual cubic representation problem» («Необычная проблема кубического представления»), опубликованная в 2014 году в Annales Mathematicae et Informaticae.

Итак, приступим.



Мы ищем положительные целочисленные решения уравнения

$\frac{a}{b+c}+\frac{b}{a+c}+\frac{c}{a+b}=4 \tag 1$


(я заменил обозначения переменных теми, которые используются в работе).

Первое, что нужно сделать, исследуя любое уравнение — попробовать поместить его в нужный контекст. Надо задать вопрос: что это за уравнение? Так, нас просят найти целочисленные решения, то есть это задача теории чисел. В текущей формулировке в уравнении используются рациональные функции (многочлены, делящиеся на другие многочлены), но очевидно, что мы можем домножить на общее кратное знаменателей, чтобы подчистить уравнение и получить только многочлены, то есть привести его к виду диофантова уравнения. Требование «положительности» довольно необычно, и, как мы увидим, усложняет всё.

Итак, сколько же у нас тут переменных? Вопрос кажется глупым: очевидно, что три, а именно $a$, $b$ и $c$. Но не торопитесь. Опытный исследователь теории чисел мгновенно заметит, что уравнение однородное. Это значит, что если $(a,b,c)$ является одним из решений уравнения, то решением является и $(7a,7b,7c)$. Понимаете, почему? Умножив каждую переменную на какую-нибудь постоянную ($7$ — это просто пример), мы ничего не изменим, потому что константа в каждой из частей сокращается.

$\frac{ta}{tb+tc}=\frac{ta}{t(b+c)}=\frac{a}{b+c}$


Это значит, что уравнение только притворяется трёхмерным. На самом деле оно двухмерно. В геометрическом представлении у нас есть поверхность (одно уравнение с тремя переменными в общем случае задаёт двухмерную поверхность. В целом, $k$ уравнений с $n$ переменными задают $d$-мерное многообразие, где $d=n-k$). Но эта поверхность на самом деле ограничена линией, колеблющейся и проходящей через начало координат. Получившуюся поверхность можно понять, разобравшись в том, как она рассекает единичную плоскость. Это проективная кривая.

Проще всего объянить это сведение можно так: мы можем разделить решения, какими бы они ни были, на те, при которых $c=0$, и те, при которых $c\neq 0$. В первом случае у нас остаётся всего две переменные, $a$ и $b$, а во втором мы просто можем разделить на $c$ и получить решение при $c=1$. Поэтому мы можем просто искать рациональные решения в $a$ и $b$ для случая $c=1$, умножать их на общий делитель и получать целочисленное решение в $a$, $b$ и $c$. В сущности, целочисленные решения однородных уравнений соответствуют рациональным решениям неоднородной версии, которая на одну размерность меньше.

Продолжим: какова степень нашего уравнения? Степень уравнения — это максимальная степень, любого появляющаяся в уравнении одночлена, где «одночлен» — это произведение нескольких переменных, чья «степень» является количеством перемножаемых одночленов. Например, $a^2bc^4$ будет одночленом степени $7=2+1+4$.

Поведение диофантовых уравнений сильно зависит от их степени. В целом:

  • Со степенью $1$ всё просто.
  • Степень $2$ полностью проанализирована и может быть решена довольно элементарными способами.
  • Степень $3$ — это обширный океан глубокой теории и миллион нерешённых проблем.
  • Степень $4$ и выше… Очень, очень сложны.

Мы имеем степень $3$. Почему? Мы просто умножаем на делители:

$a(a+b)(a+c)+b(b+a)(b+c)+c(c+a)(c+b)=4(a+b)(a+c)(b+c)$


Даже без раскрывания скобок можно увидеть, что степень равна $3$: мы никогда не перемножаем более трёх переменных за раз. У нас получатся части типа $a^3$, $b^2c$ и $abc$, но никогда не будет чего-то больше трёх множителей. Если провести преобразования, то уравнение будет иметь вид

$a^3+b^3+c^3-3(a^2b+ab^2+a^2c+ac^2+b^2c+bc^2)-5abc=0$


Вы можете возразить, что умножение на делители невозможно, если какие-то из них оказываются равны $0$. Это верно — действительно, наше новое уравнение имеет несколько решений, не соответствующих исходному уравнению. Но на самом деле это хорошо. Версия с многочленами добавляет к оригиналу несколько «заплаток» и с ним становится проще работать. Нам просто нужно будет проверять, не исчезают ли исходные делители при каждом конкретном решении.

На самом деле уравнение с многочленами легко решить, например, $a=-1$, $b=1$, $c=0$. Это хорошо: у нас есть рациональное решение (рациональная точка). Это значит, что наше кубическое уравнение (степень = 3) на самом деле является эллиптической кривой.

Когда обнаруживаешь, что уравнение представляет собой эллиптическую кривую, то а) радуешься и б) отчаиваешься, потому что предстоит ещё много чего изучить. Это уравнение — прекрасный пример того, как мощную теорию эллиптических кривых можно применить к нахождению безумно сложно определяемых решений.



Первое, что обычно делают эллиптической кривой — приводят её в вейерштрассову форму. Это уравнение, которое выглядит как

$y^2 = x^3 + ax + b$


а иногда как

$y^2 = x^3 + ax^2+bx+c$


(это называется развёрнутой вейерштрассовой формой. Она необязательна, но иногда более удобна).

Обычно любую эллиптическую кривую можно привести к такому виду (если вы только не работаете над полями с малыми характеристиками, но здесь нам не нужно о них волноваться). Объяснять способ поиска правильного преобразования было бы слишком долго, поэтому просто знайте, что это абсолютно механический процесс (критически важно в нём то, чтобы была хотя бы одна рациональная точка, которая у нас есть). Существуют разные пакеты вычислительной алгебры, которые сделают всё за вас.

Но даже если вы не знаете. как найти преобразование, проверить его очень просто, по крайней мере, это выполняется чисто механически. Необходимое преобразование в нашем случае задаётся страшно выглядящими формулами

$x = \frac{-28(a+b+2c)}{6a+6b-c}$


$y = \frac{364(a-b)}{6a+6b-c}$


Я знаю, что они похожи на неизвестно откуда взявшуюся магию вуду, но поверьте, это не так. Получив эти преобразования, с помощью монотонных, но довольно простых алгебраических расчётов мы покажем, что

$y^2 = x^3+109x^2+224x \tag 2$


Это уравнение, хоть и выглядит совсем по-другому, на самом деле является достоверной моделью исходного. Графически оно выглядит так — типичная эллиптическая кривая с двумя вещественными частями:



«Рыбий хвост» справа растёт «в бесконечность и дальше». Овальная фигура слева является замкнутой и оказывается для нас довольно интересной.

Имея любое решение $(x,y)$ этого уравнения, мы можем восстановить необходимые значения $a$, $b$, $c$ с помощью уравнений

$a = \frac{56-x+y}{56-14x}$


$b = \frac{56-x-y}{56-14x}$


$c = \frac{-28-6x}{28-7x}$


(Помните, что триплет $(a:b:c)$ нужно воспринимать проективно – какие бы значения вы ни получили с помощью этих уравнений, их всегда можно умножить на любую константу).

Два показанных нами отображения, из $a$, $b$, $c$ в $x$, $y$ и наоборот, показывают, что эти два уравнения «одинаковы» с точки зрения теории чисел: рациональные решения одного дают рациональные решения другого. Технически это называется бирациональной эквивалентностью, а она является фундаментальным понятием алгебраической геометрии. Как мы уже заметили, могут существовать точки-исключения, которые не отображаются правильно. Это случаи, когда $a+b$, $a+c$ или $b+c$ оказываются равны $0$. Это привычная расплата в случае бирациональной эквивалентности, и она не должна вызывать никаких волнений.



Давайте рассмотрим пример.

На эллиптической кривой (2) есть хорошая рациональная точка:

$x=-100$, $y=260$. Возможно, её не так просто найти, но очень просто проверить: просто вставьте эти значения и вы увидите, что две половины одинаковы (я выбирал эту точку не случайным образом, но пока это неважно). Можно просто проверить, какие значения $a$, $b$, $c$ она нам даёт. Мы получаем $a = 2/7$, $b=-1/14$, $c=11/14$, и поскольку мы можем умножить на общий делитель, то результаты преобразуются в $a = 4$, $b=-1$, $c=11$.

И в самом деле,

$\frac{4}{-1+11}+\frac{-1}{4+11}+\frac{11}{4-1}=4$


как можно с лёгкостью убедиться. Это простое решение нашего исходного уравнения в целых числах, но, увы, не в положительных целых. Это решение непросто вывести вручную, но и несложно получить без всей этой рассматриваемой здесь махины, приложив немного терпения. Самая сложность заключается в положительных решениях.

Теперь, получив рациональную точку на эллиптической кривой, например, $P=(-100,260)$ на нашей кривой (2), можно начать генерировать другие с помощью техники хорд и касательных, рассмотренной в предыдущей статье на Quora.



Для начала прибавим нашу точку $P$ к ней самой, найдя касательную к кривой в точке $P$ и определив, где она снова встречается с кривой. Результат будет немного пугающим:

$P+P=2P=(8836/25, -950716/125)$


и снова эта новая точка соответствует значениям $a$, $b$, $c$, являющимся решением исходного уравнения

$(a,b,c)=(9499, -8784, 5165)$


Это решение определённо непросто найти вручную, но оно всё ещё под силу компьютеру. Однако оно по-прежнему неположительно.

Не пугаясь неудач, мы продолжаем вычислять $3P=2P+P$, что можно определить соединением прямой линией $P$ и $2P$ и нахождением третьей точки пересечения с кривой. И снова мы вычисляем $a$, $b$, $c$, и снова результат неположителен. То же самое будет и с $4P$, и с $5P$, и так далее… пока мы не наткнёмся на $9P$.

9P=(-66202368404229585264842409883878874707453676645038225/13514400292716288512070907945002943352692578000406921,
58800835157308083307376751727347181330085672850296730351871748713307988700611210/1571068668597978434556364707291896268838086945430031322196754390420280407346469)


Его определённо непросто найти, но с помощью нашей машинерии нам достаточно повторить девять раз простую геометрическую процедуру. Соответствующие значения $a$, $b$, $c$ потрясающи:

a=154476802108746166441951315019919837485664325669565431700026634898253202035277999,
b=36875131794129999827197811565225474825492979968971970996283137471637224634055579,
c=4373612677928697257861252602371390152816537558161613618621437993378423467772036


Это 80-разрядные числа! Вы никак не смогли бы найти 80-разрядные числа на компьютере с помощью простого перебора. Выглядит невероятным, но вставив эти огромные числа в простое выражение $a/(b+c)+b/(a+c)+c/(a+b)$, мы действительно получим ровно $4$.

Фактически, они являются наименьшими решениями задачи. Если мы продолжим прибавлять к самой себе точку $P$, то при этом просто будут расти делители. Непросто это доказать, потому что всегда есть вероятность сокращения, но теория высот для эллиптической кривой позволяет нам показать, что эти астрономические числа на самом деле являются простейшим решением уравнения.





Вернёмся к теории. Эллиптическая кривая над рациональными значениями имеет ранг, который является количеством точек, необходимых, чтобы использовать для метод хорд и касательных и быть уверенным, что мы рано или поздно найдём все рациональные точки на кривой. Наша эллиптическая кривая (2) имеет ранг 1. Это значит, что у неё есть бесконечное количество рациональных точек, но все они получаются из единственной, которая является ничем иным, как нашей точкой $P=(-100, 260)$. Алгоритмы вычисления ранга и нахождения такого генератора далеки от тривиальных, но SageMath (теперь имеющий название CoCalc) выполняет их меньше чем за секунду всего в нескольких строках кода. Мой код можно посмотреть здесь. Он воспроизводит всё решение с нуля, но, конечно же, использует встроенные методы Sage для работы с эллиптическими кривыми.

В нашем случае точка $P$ лежит на овальной части кривой, как и точки $mP$ для любого положительного целого $m$. Они «кружатся» по овалу и постепенно довольно равномерно по нему распределяются. Это очень удачно, потому что только небольшая часть этого овала даёт положительные решения в отношении $a$, $b$, $c$: это выделенная жирным часть графика ниже, взятого из работы Бремнера и Маклауда.



Точки $P$, $2P$, и так далее, не лежат на выделенной части, а $9P$ — лежит, именно так мы и получили наши 80-разрядные положительные решения.

Бремнер и Маклауд изучили, что происходит, если мы заменяем $4$ чем-то другим. Если вы думаете, что решения будут большими, то подождите, пока не увидите, какими окажутся решения при результате $178$. Вместо 80 разрядов нам понадобится 398 605 460 разрядов. Да, это только количество разрядов решения. Если заменить результат на $896$, то решение будет содержать триллионы разрядов. Триллионы. Для этого невинно выглядящего уравнения:

$a/(b+c)+b/(a+c)+c/(a+b)=896$




Поразительный пример того, как диофантовы уравнения с небольшими коэффициентами могут иметь огромные решения. Это внушает не просто трепет, а ощущение бездонности. Отрицательное решение десятой проблемы Гильберта означает, что рост решений при увеличении коэффициентов — это невычислимая функция, потому что если бы она была вычисляемой, то у нас был бы простой алгоритм решения диофантовых уравнений, а его не существует (ни простого, ни сложного). Соответствие $4 \to$ 80-разрядные числа, $178 \to$ числа из сотен миллионов разрядов и $896 \to$ триллионы разрядов даёт нам небольшое представление о первых, небольших шагах этой чудовищной невычислимой функции. Немного измените числа в уравнении, и решения запросто превзойдут всё, что может вместиться в нашу жалкую, крошечную Вселенную.

Вот такое удивительно хитрое небольшое уравнение.

Благодарю пользователя MrShoor, приславшего мне ссылку на эту интересную статью.
Теги:
Хабы:
Если эта публикация вас вдохновила и вы хотите поддержать автора — не стесняйтесь нажать на кнопку
+125
Комментарии 57
Комментарии Комментарии 57

Публикации

Истории

Ближайшие события

Московский туристический хакатон
Дата 23 марта – 7 апреля
Место
Москва Онлайн
Геймтон «DatsEdenSpace» от DatsTeam
Дата 5 – 6 апреля
Время 17:00 – 20:00
Место
Онлайн