Диофант представляет одну из наиболее трудных
загадок в истории науки. Нам точно не известны ни время, когда
он жил, ни предшественники его, которые работали бы в
той же области. Труды его подобны сверкающему огню
среди полной непроницаемой тьмы.
Диофант оказался последним крупным математиком античности.
Не будет преувеличением сказать, что после него в европейской математике воцарился тысячелетний мрак.
«Арифметика» Диофанта посвящена «достопочтенному Дионисию».
В 247 г. епископом Александрии стал некий Дионисий,
который с 231 г. руководил христианской гимназией
города.
Французский историк науки Поль Таннри, издатель
наиболее полного текста Диофанта, сузил этот промежуток
и отождествил этого Дионисия с тем,
которому посвятил свой труд Диофант, и пришел к
выводу, что Диофант жил в середине III в. н.э.
Место жительства Диофанта хорошо известно —
это знаменитая Александрия, центр научной мысли
эллинистического мира.
После распада огромной империи Александра
Македонского Египет в конце IV в. до н. э. достался его
полководцу Птолемею Лагу, который перенес столицу в
новый город — Александрию. Вскоре этот многоязыкий
торговый город сделался одним из прекраснейших
городов древности. Размерами его превзошел впоследствии
Рим, но долгое время ему не было равного. И вот
именно этот город стал на многие века научным и культурным
центром древнего мира. Это было связано с тем, что
Птолемей Лаг основал Музейон, храм Муз, нечто вроде
первой Академии наук, куда приглашались наиболее
крупные ученые, причем им назначалось содержание, так что
основным делом их были размышления и беседы с
учениками. При Музейоне была построена знаменитая
библиотека, которая в лучшие свои дни насчитывала более
700 000 рукописей. Неудивительно, что ученые и
жаждущие знаний юноши со всего мира устремились в
Александрию, чтобы послушать знаменитых философов,
поучиться астрономии и математике, иметь возможность в
прохладных залах библиотеки углубиться в изучение
уникальных рукописей.
Музейон пережил династию Птолемеев. В первые века
до н. э. он пришел во временный упадок, связанный с
общим упадком дома Птолемеев в связи с римскими
завоеваниями (Александрия была окончательно завоевана в
31 г. до н. э.), но затем в первые века н. э. он снова
возродился, поддерживаемый уже римскими
императорами. Александрия продолжала оставаться научным
центром мира. Рим никогда не был в этом отношении ее
соперником: римской науки просто не существовало.
И если в III—II вв. до н. э. Музейон блистал именами
Евклида, Аполлония, Эратосфена, Гиппарха, то в I—III вв.
н. э. здесь работали такие ученые как Герон, Птолемей
и Диофант.
До нас дошло стихотворение-загадка, посвященное Диофанту:
Прах Диофанта гробница покоит; дивись ей — и камень
Мудрым искусством его скажет усопшего век.
Волей богов шестую часть жизни он прожил ребенком
И половину шестой встретил с пушком на щеках.
Только минула седьмая, с подругою он обручился.
С нею пять лет проведя сына дождался мудрец;
Только полжизни отцовской возлюбленный сын его прожил.
Отнят он был у отца ранней могилой своей.
Дважды два года родитель оплакивал тяжкое горе,
Тут и увидел предел жизни печальной своей.
Отсюда нетрудно подсчитать, что Диофант прожил 84
года. Достаточно уметь решать уравнение 1-й
степени с одним неизвестным, а это умели делать
египетские писцы еще за 2 тысячи лет до н. э.
Но наиболее загадочным представляется творчество
Диофанта. До нас дошло шесть книг из 13, которые были
объединены в «Арифметику». Стиль и содержание этих книг
резко отличаются от классических античных сочинений
по теории чисел и алгебре, образцы которых мы знаем
по «Началам» Евклида, его «Данным», леммам из сочинений
Архимеда и Аполлония. «Арифметика», несомненно,
явилась результатом многочисленных исследований, которые
остались нам совершенно не известны. Мы можем только
гадать о ее корнях и изумляться богатству и красоте ее
методов и результатов.
«Арифметика» Диофанта — это сборник задач (их
всего 189), каждая из которых снабжена решением (или
несколькими способами решения) и необходимыми
пояснениями. Поэтому с первого взгляда кажется, что она не
является теоретическим произведением. Однако при
внимательном чтении видно, что задачи тщательно подобраны и
служат для иллюстрации вполне определенных, строго
продуманных методов. Как это было принято в древности,
методы не формулируются в общем виде, а повторяются
для решения однотипных задач.
В классической греческой математике, которая нашла
свое завершение в «Началах» Евклида, под числом
понималось множество единиц, т. е. целое число. Ни дроби, ни
иррациональности числами не назывались. Строго говоря, никаких
дробей в «Началах» нет. Единица считается неделимой и
вместо долей единицы рассматриваются отношения целых
чисел; иррациональности появляются как отношения
несоизмеримых отрезков, например, число, которое мы
теперь обозначаем как корень из двух, для греков классической эпохи
было отношением диагонали квадрата к его стороне. Об
отрицательных числах не было и речи. Для них не
существовало даже никаких эквивалентов. Совершенно иную
картину мы находим у Диофанта.
Диофант приводит традиционное определение числа
как множества единиц, однако в дальнейшем ищет для
своих задач положительные рациональные решения,
причем называет каждое такое решение числом («аритмос»).
Но этим дело не ограничивается. Диофант вводит
отрицательные числа: он называет их специальным термином
— «лейпсис» — производное от глагола -
«лейпо», что означает недоставать, нехватать, так что сам
термин можно было бы перевести словом «недостаток».
Положительное число Диофант называет
словом «ипарксис», что означает
существование, бытие, а во множественном числе это слово может
означать имущество или достояние.
Диофант формулирует для относительных чисел
правило знаков:
«отрицательное, умноженное на отрицательное, дает
положительное, тогда как отрицательное на
положительное дает отрицательное».
Диофант расширил числовую область до поля рациональных
чисел, в котором можно беспрепятственно производить все
четыре действия арифметики.
Диофант ввел обозначения для первых шести степеней х, x^2,...,x^6 неизвестного х.
Он ввел специальный знак для отрицательного
показателя степени и, таким образом, получил возможность
обозначать первые шесть отрицательных степеней
неизвестного.
Диофант употреблял знак квадрата для
неопределенного квадрата. Например, если по условию
задачи произведение двух чисел в сумме с одним из них
должно было равняться квадрату, то этот последний
квадрат записывался с помощью Q.
Уравнение
202x2 + 13 - 10x = 13
он записывал в виде
Греки обозначали числа с помощью букв алфавита, над
которыми сверху ставилась черточка. Первые 9 букв:
α, β, γ, δ, ε, ζ, η, θ, ι
обозначали числа от 1 до 9, следующие 9 букв обозначали десятки
от 10 до 90, и следующие 9 — сотни.
Во «введении» формулируются правила
преобразования уравнений: прибавление равных членов к обеим
частям уравнения и приведение подобных членов. Оба
эти правила получили впоследствии широкую известность
под арабизированными названиями «алгебра».
Мы здесь встречаемся с совершенно новым построением алгебры,
которая основывается уже не на геометрии, а на арифметике.
Проблемы, которые Диофант ставит и решает в Арифметике, носят новаторский характер.
В настоящее время задача решения неопределенных уравнений формулируется так:
пусть дано m многочленов от n переменных, m < n ,
f1(x1, x2, ... , xn ),
... ,
fm(x1, x2, ... , xn ).
Требуется найти множество M(k) всех рациональных решений системы
f1(x1, x2, ... , xn ) = 0,
... ,
fm(x1, x2, ... , xn ) = 0,
При этом решение (x01), ... , x0n))
называется рациональным, если все x0i принадлежат рациональному множеству k.
Так уравнение x2 + y2 = 3 не имеет ни одного рационального решения.
Для теории чисел наиболее важными являются случаи, когда k является полем рациональных чисел
либо k есть поле вычетов по простому p. Диофант рассматривает только первый случай.
В случае для одного уравнения с двумя неизвестными, когда m=1, n=2
f(x, y) = 0
Это уравнение определяет на плоскости алгебраическую кривую.
Порядком кривой такого уравнения называется максимальный порядок членов многочлена f(x, y).
Геометрический смысл морядка заключается в том, что прямая пересекается с кривой порядка n
ровно в n точках.
Диофант владел общим методом для определения рациональных
точек на кривых второго порядка.
Диофант нашел также общие
методы для отыскания рациональных точек на кривых
третьего порядка, причем методы эти оказались глубоко
отличными от тех, которые он применял для кривых
второго порядка.
Эти методы Диофанта применимы для нахождения рациональных
точек на любых кривых. Никаких других общих
методов для нахождения рациональных точек
алгебраических кривых до сих пор не существует.
Неопределенные уравнения второго порядка начали рассматривать еще до Диофанта.
Уравнения x2 + y2 = z2 и
x2 - ay2 = 1 появились еще в древнем Вавилоне.
Формулы для их решения были найдены пифагорейцами:
x = k2 - 1, y = 2k, z = k2 + 1
Решение второго уравнения в целых числах приведено в Началах Евклида.
Диофант в книге II своей «Арифметики»
рассматривает различные неопределенные уравнения второго
порядка и устанавливает, по существу, следующую теорему:
неопределенное уравнение второго порядка от двух
переменных либо не имеет ни одного рационального решения,
либо имеет их бесконечно много, причем в последнем
случае все решения выражаются как рациональные функции
параметра
х = φ(k), y =ψ(k)
где φ, ψ - рациональные функции.
Во второй книге Арифметики есть задача 8. В ней предлагается данный квадрат разбить на два квадрата.
Пусть это будет 16, тогда
16 - x2 = y2
Далее Диофант делает допущение - пусть y будет
2x - 4
тогда
y2 = 4x2 + 16 - 16x
тогда
16 - x2 = 4x2 + 16 - 16x
Приведем подобные
5x2 = 16x
и
x = 16 / 5
Далее
x2 = 256 / 25
y2 = 144 / 25
Т.е. задача не имеет целых решений, но имеет рациональные, и Диофант их находит.
Эта задача имеет бесконечно много решений.
Например, если взять y = 7x - 4, то получим
x = 28 / 25 , y = 96 / 25
Метод Диофанта для данной задачи заключается в следующем: пусть имеется уравнение
x2 + y2 = a2
которое представляет окружность с центром в начале координат.
Одним из рациональных решений будет
(0, -a)
Диофант делает подстановку:
y = kx - a
В нашем случае это kx - 4.
Эту подстановку можно интерпретировать геометрически как проведение через точку (0, -a)
прямой
y = kx - a
Эта прямая встретит окружность еще в одной точке, координаты которой будут рациональными функциями от k
x2 + (kx-a)2 = a2
и
Каждому рациональному k отвечает только одна точка на окружности.
В 4-й книге Диофант рассматривает неопределенные
уравнения третьего и четвертого порядков. Здесь дело
обстоит гораздо сложнее: если кривая третьего порядка и
имеет рациональные точки, то координаты их, вообще
говоря, не могут быть выражены рациональными
функциями одного параметра. Однако, зная одну или две
рациональные точки кубической кривой, можно найти еще
одну ее рациональную точку. Действительно, любая
прямая пересекает кривую третьего порядка в трех
точках, координаты которых можно найти например, из
уравнения третьей степени, получающегося исключением
у из уравнений кривой и прямой.
Если два корня этого результирующего
уравнения рациональны, то и третий будет рациональным (это
можно усмотреть хотя бы из того, что сумма корней
кубического уравнения равна коэффициенту при х2,
взятому с обратным знаком, деленному на коэффициент при х3;
если коэффициенты уравнения рациональны и два корня
рациональны, то и третий корень, очевидно, рационален).
На этом замечании основаны следующие две процедуры:
1) если Р — рациональная точка кривой , то в
точке Р проводится к кривой касательная с рациональным
угловым коэффициентом к. Она будет иметь еще одну
точку пересечения , которая также будет рациональной.
2) Если Р1 и Р2 — рациональные точки кривой , то
проводится прямая Р1Р2 и ищется третья ее точка
пересечения. По-предыдущему, координаты этой точки
рациональны.
Этот метод принято называть методом касательной и секущей Диофанта.
24-я задача 4-й книги: Данное число разбить на два числа так, чтобы их произведение
было равно кубу без стороны.
Пусть дано 6. Я полагаю 1-е число х, тогда 2-е
будет 6 — х. Остается сделать, чтобы одно на другое
было кубом без стороны, но оно будет бх — х2 это
и должно равняться кубу без стороны. Я образую
куб из х с каким-нибудь коэффициентом минус 1;
пусть 2х — 1, его куб минус сторона будет
8x3 + 4x -12x2
Это равно
8x3 + 4x -12x2 = 6x - x2
Если коэффициенты при х в обеих частях были бы
равны, то остались бы равные члены с х3 и х2; тогда
х было бы рациональным. Но 4х получается как
избыток 3*2x над 2х, и 3*2х — 2х дает 2*2х; однако, по
предположению, должно быть 6. Итак, дело сводится
к отысканию такого числа, чтобы коэффициент при х,
умноженный на 2, давал бы 6. Это будет 3.
Так как я хочу, чтобы 6х — х2 равнялось кубу
минус сторона, то полагаю сторону куба Зх — I;
этот куб минус его сторона будет
27х3 + бx — 272 = 6х — x2
и
x = 26 / 27
y = 136 / 27
26-я задача 4-й книги:
Найти такие два числа, чтобы их произведение,
сложенное с каждым из них, давало куб.
Т.е.
x*y + x + y = a3
Составляю 1-е число из кубического количества х-ов ,
т.е. x умножаем на куб, пусть оно будет 8х; 2-е полагаю х2 — 1;
одно условие удовудовлетворено: их произведение, сложенное с 1-м числом,
дает куб.
Остается лишь, чтобы их произведение вместе со 2-м
числом давало куб. Но это произведение, сложенное со
2-м числом, будет
8x3 + x2 - 8x -1
оно должно равняться кубу. Строю этот куб на стороне
2х — 1; и х будет 14/13.
К подстановкам. 1-е число будет 112/13, 2-е 27/169.
В Арифметике Диофант ссылается на свою другую книгу - Поризмы - которая до нас не дошла.
В ней он рассматривал теоремы, имеющие отношения к теории чисел.
В 3-й книге есть 19-я задача, которая послужила Ферма поводом для теоремы, что каждое простое число
вида 4n + 1 представимо в виде суммы двух квадратов, причем единственным образом.
19-я задача:
Найти четыре числа такие, чтобы квадрат
суммы их, если к нему прибавить одно из них, или
отнять, оставался бы квадратом.
Так как во всяком прямоугольном треугольнике,
если к квадрату гипотенузы прибавить или из него
отнять удвоенное произведение сторон, заключающих
прямой угол, получится квадрат, то я ищу сперва
четыре прямоугольных треугольника, имеющих
равные гипотенузы. Это то же, что разбить
некоторый квадрат на два квадрата (четырьмя способами),
а мы уже знаем, что заданный квадрат можно разбить на
два квадрата бесконечным числом способов .
апейрахос).
Итак, пусть предложены два прямоугольных
треугольника в наименьших числах, как 3, 4, 5 и
5, 12, 13. Умножим каждый из предложенных на
гипотенузу другого; тогда первый треугольник будет
39, 52,65, а второй 25, 60, 65. Это и есть
прямоугольные треугольники, имеющие равные гипотенузы.
По своей природе 65 может быть разложено на
два квадрата двумя способами: на 16 и 49, и подругому, на 64 и 1. Это происходит потому, что
число 65 есть произведение 13 и 5, каждое из
которых разбивается на два квадрата.
Теперь от предложенных 49 и 16 я беру стороны,
они будут 7 и 4, и образую из двух чисел 7 и 4
прямоугольный треугольник 33, 56, 65.
Подобным образом 64 и 1 имеют стороны 8 и 1,
и я образую из них другой прямоугольный
треугольник, стороны которого будут 16, 63, 65.
И вот получены четыре прямоугольных
треугольника, имеющих равные гипотенузы = 65. Итак, вернемся
к первоначальной задаче; я полагаю сумму четырех
(чисел) 65*x, а каждое из этих четырех равным х2,
с коэффициентами, являющимися учетверенными площадямй, именно, первое — 405бх2, второе — ЗОООх2,
третье — 3696х2; и четвертое — 2016х2.
Тогда сумма четырех чисел
12768x2 = 65*x
что дает
x = 65 / 12678
По формулам будут с одним и тем же знаменателем
1-е - 17136600, 2-е - 12675000, 3-е - 15615600, 4-е - 8517600
а знаменатель (равен) 163021824
В другой задаче - 14 из книги 5 -
Диофант сформулировал условие,
необходимое для того, чтобы некоторое число могло быть
представлено суммой трех квадратов. Диоризм
заключается в том, что число не должно иметь вид 8n + 7. И
здесь доказательство необходимости не должно было
составить труда для Диофанта.
Зная принцип математиков древности высказывать
только такие предложения, которые они могли доказать,
можно смело утверждать, что Диофант умел доказывать
все свои диоризмы. А это значит, что он был не только
гениальным алгебраистом, не только основателем диофантова анализа, но и выдающимся исследователем в
области собственно теории чисел.
В средние века в европе Диофанта заново открыли в 15 веке.
Рукопись Арифметики впервые попала на глаза , по-видимому, известному астроному
Региомонтану (Иоганн Мюллер). Путешествуя по
Италии, он открыл рукопись Диофанта в Венеции и
сообщил об этом в письме к своему другу. Рукопись
поразила его богатством содержания. Он решил перевести ее,
но не раньше, чем найдет все 13 книг, о которых пишет
Диофант во Введении. Однако, были найдены только 6
книг, те, которые известны и нам, и перевод так и не был
сделан.
Прошло еще 100 лет. За это время ни один из крупных
алгебраистов, а их было немало,— достаточно назвать
Джироламо Кардано и Николо Тарталья, ничего не знали о
Диофанте. Но вот в 1572 г. в «Алгебре» Рафаэля Бомбелли,
профессора университета в Болонье, вдруг появляются
143 задачи из «Арифметики» Диофанта! В предисловии
Бомбелли пишет, что «в прошлом году труд, посвященный
этому предмету, был найден в библиотеке Господа
нашего в Ватикане, составленный неким Диофантом,
греческим автором, жившим в эпоху Антонина Пия». Заметим, что
Антонин Пий был Римским императором в середине II в.
н. э. Откуда взял свое утверждение о времени жизни
Диофанта Бомбелли, абсолютно не известно. Прочтя
рукопись, Бомбелли убедился, что автор ее «весьма сведущ
в науке чисел». И вот «с целью обогатить мир
произведением такой важности» Бомбелли принялся совместно с
римским математиком Пацци, который первый обнаружил
рукопись, за перевод. «Мы перевели пять книг из семи,—
сообщает Бомбелли,— но не смогли окончить остальное
из-за других работ, которые выпали на нашу долю».
О каких семи книгах идет речь? Ватиканская рукопись
содержит их только шесть! Может быть, седьмая была
утеряна? Если бы до нас дошел перевод пяти первых книг,
выполненный Бомбелли и Пацци, мы могли бы сравнить
их с теми книгами, которые мы имеем, и судить о том,
соответствует ли наше разделение задач по книгам тому,
которое было у Бомбелли. Но, увы, никаких следов этого
перевода не осталось.
«Алгебра» Бомбелли замечательна во многих
отношениях. Здесь были усовершенствованы алгебраические
обозначения для степеней неизвестного, здесь впервые
появились мнимые числа a + bi, где i2 = —1, причем
очень четко были сформулированы правила действий с
ними. Наконец, с помощью мнимых чисел был исследован
так называемый «неприводимый» случай кубического
уравнения. Но для нас сейчас книга Бомбелли важна тем, что
в ней впервые появились задачи Диофанта, правда,
вырванные из контекста. Однако влияние «Арифметики»
сказалось на всей книге Бомбелли: в первоначальной
рукописи его собственные задачи были облечены в
псевдопрактическую форму, в окончательном варианте они
формулируются абстрактно, как и у Диофанта. Он изменил
и некоторые термины, приблизив их к тем, которые нашел
у Диофанта.
Но уже через три года после выхода в свет «Алгебры»
был опубликован первый перевод «Арифметики» на
латынь. Он был выполнен известным филологом и философом
того времени Ксиландром (настоящее имя его — Гильом
Хольцман). Перевод этот был, в целом, хорош, хотя
чувствовалось, что он был выполнен человеком, далеким
от математики.
После этого задачи четырех первых книг Диофанта
появились в книге известного математика и механика
Симона Стевина (1585 г.), а во втором издании,
подготовленном талантливым алгебраистом Альбером Жираром,—
и задачи из последних двух книг.
Но методы Диофанта обрели новую жизнь только в
произведениях двух крупнейших математиков Франции
XVI — XVII вв.— Франсуа Виета и Пьера Ферма.
Франсуа Виет (1540—1603) по праву считается
родоначальником буквенного исчисления, до создания которого
говорить об алгебре можно только с известными
оговорками. Он первый после Диофанта сделал существенно
новый шаг в построении такого исчисления и именно тем,
что ввел символы для произвольных постоянных величин
(или параметров), фигурирующих в задачах. Только
после этого появились первые алгебраические формулы и
стало возможным часть умственных операций заменить
буквенными.
Франсуа Виет был также первым математиком Европы,
обратившим внимание на метод Диофанта для нахождения
рациональных точек кубической кривой и хорошо
понявшим этот метод.
В задаче 12 книги V Диофант пишет: «а мы имели в
Поризмах, что разность любых двух кубов есть сумма
двух кубов»
x3 + y3 = a3 - b3
где а > b > 0 и x, у — положительные.
Виет поставил аналогичные задачи:
x3 - y3 = a3 + b3 (х > у > 0, а > 0, b > 0) x3 - y3 = a3 - b3 (х > у > 0, а > b > 0)
Позднее Ферма добавил еще одну
x3 + y3 = a3 + b3
Она вызывала затруднения, так как при ее решении обычным
способом либо х либо у получаются отрицательными, т. е.
сумма двух кубов представляется не суммой двух новых
кубов, а их разностью. Ферма вышел из затруднения,
осуществив при помощи подстановки х = t + I сдвиг
всей кривой.
В 1621 г. Баше-де-Мезириак выпустил новое издание
«Арифметики» Диофанта. Впервые был опубликован не
только перевод на латынь (сделанный заново и имеющий
значительные преимущества по сравнению с переводом
Ксиландра), но и греческий текст. Однако это издание
стало знаменитым не только благодаря качеству перевода
и обстоятельным комментариям Баше,— на одном из его
экземпляров Пьер Ферма записывал свои мысли и
результаты, относящиеся к теории чисел. Именно здесь, на
полях напротив задачи 8 книги II, в которой Диофант
раскладывает заданный квадрат в сумму двух квадратов ,
Ферма записал: «Наоборот, невозможно разложить
куб на два куба, биквадрат на два биквадрата и вообще
никакую степень, большую квадрата, на две степени с
тем-же показателем. Я дал этому поистине чудесное докавательство, но поля книги слишком узки для него». Это
и есть знаменитая Большая или Великая теорема Ферма,
прославившая имя своего автора далеко за пределами
математики. Но и в самой нашей науке Великая теорема
сыграла совершенно исключительную роль. Она служила
предметом раздумий и исследований для Эйлера, Лежандра, Дирихле, Куммера и других крупнейших
математиков и побудила их к построению новой области
математики — высшей арифметики или арифметики полей
алгебраических чисел.
Арифметика Диофанта, хотя и с запозданием, дала мощный импульс для развития алгебры.
Было порождено и доказано большое количество гипотез и теорем.
В частности, Гипотеза Эйлера утверждает, что для любого натурального числа n > 2
никакую n-ю степень натурального числа нельзя представить в виде суммы (n−1) n-х степеней других натуральных чисел.
То есть следующие уравнения не имеют решения в натуральных числах:
a3 + b3 = c3
a4 + b4 + c4 = d4
a5 + b5 + c5 + d5= e5
Гипотеза была высказана в 1769 году Эйлером как обобщение великой теоремы Ферма, которая соответствует частному случаю n = 3.
Таким образом, гипотеза Эйлера верна для n = 3.
В 20м веке гипотеза Эйлера была опровергнута для n = 4 и n = 5 ,
но она по-прежнему остается открытой проблемой для n ⩾ 6 .
В 1966 году был найден первый контр-пример для n=5:
275 + 845 + 1105 + 1335= 1445
Контр-пример для n=4:
958004 + 2175194 + 4145604 = 4224814
Следующий код пытается найти контрпример для n=6:
Код
package main
import (
"time"
"math/big"
"math/rand"
"io/ioutil"
"os"
"fmt"
"strings"
)
func generator(){
fff, _ := os.Create("euler6")
fff.Close()
ff, _ := os.OpenFile("euler6", os.O_APPEND|os.O_WRONLY, 0600)
a := int64(1)
t1 := time.Now()
for{
aa := big.NewInt(0).Exp(big.NewInt(a), big.NewInt(6), nil)
str := fmt.Sprintf("%s", aa.String())
ff.WriteString(str)
ff.WriteString("\n")
a += 1
if a > 10000000 {break}
}
t2 := time.Since(t1)
println(t2.Seconds())
}
func get_min(_six []string, six map[string]int, f *big.Int, c *big.Int, d *big.Int, e *big.Int,
bi int64, ci int64, di int64, ei int64, fi int64, amin *big.Int ) (bi_min int64, aa int){
aa = len(amin.String())
a_min := big.NewInt(0)
a_min.Set(f)
ff := big.NewInt(0)
ff.Add(ff, e)
ff.Add(ff, d)
ff.Add(ff, c)
fff := big.NewInt(0)
fff.Set(ff)
bi_min = bi
count := int64(0)
cc := int64(-1)
for{
count = 0
for{
bi += cc
if bi == 0 || bi >= fi {break}
b := big.NewInt(0)
b.SetString(_six[bi-1], 0)
ff.Add(fff, b)
if ff.Cmp(f) == 1{ break }
a := big.NewInt(0)
a.Sub(f, ff)
if a_min.Cmp(a) == 1{
aaaa := big.NewInt(0).Set(a)
a_min.Set(aaaa)
aa = len(a_min.String())
bi_min = bi
}
_, ok := six[a.String()]
if ok == true{
println("!!!!!!!", six[a.String()], bi, ci, di, ei, fi);
os.Exit(0)
}
count += 1
if count == 1000000 {break}
}
if cc == 1 {break}
bi += count
cc = 1
}
return bi_min, aa
}
func main() {
// закомметированный код запустить только один раз
// generator()
t1 := time.Now()
content, err := ioutil.ReadFile("euler6")
if err != nil {}
_six := strings.Split(string(content), "\n")
six := make(map[string]int)
ii := 0
for _, v := range _six {
six[v] = ii
ii += 1
}
t2 := time.Since(t1)
println(t2.Seconds())
cc :=0
_rand := 9000000
count := 0
for{
rand.Seed(time.Now().UTC().UnixNano())
fi := int64(rand.Intn(999999) + _rand)
f := big.NewInt(0)
f.SetString(_six[fi-1], 0)
bi_min := int64(0)
ci_min := int64(0)
di_min := int64(0)
ei_min := int64(0)
a_min := big.NewInt(0)
a_min.Set(f)
count += 1
for{
rand.Seed(time.Now().UTC().UnixNano())
ei := int64(rand.Intn(900000) + _rand)
di := int64(rand.Intn(_rand)+1)
ci := int64(rand.Intn(_rand)+1)
bi := int64(rand.Intn(_rand)+1)
e := big.NewInt(0)
e.SetString(_six[ei-1], 0)
d := big.NewInt(0)
d.SetString(_six[di-1], 0)
c := big.NewInt(0)
c.SetString(_six[ci-1], 0)
b := big.NewInt(0)
b.SetString(_six[bi-1], 0)
ff := big.NewInt(0)
ff.Add(ff, e)
ff.Add(ff, d)
ff.Add(ff, c)
ff.Add(ff, b)
if ff.Cmp(f) == 1{ continue }
cc += 1
a := big.NewInt(0)
a.Sub(f, ff)
_, ok := six[a.String()]
if ok == true{
println("!!!!!!!", six[a.String()], bi, ci, di, ei, fi);
os.Exit(0)
}
if a_min.Cmp(a) == 1{
bi_min=bi
ci_min=ci
di_min=di
ei_min=ei
aaaa := big.NewInt(0).Set(a)
a_min.Set(aaaa)
}
cc += 1
if cc > 10000{
cc = 0
t2 = time.Since(t1)
bi_min, aa1 := get_min(_six, six, f, c, d, e, bi_min, ci_min, di_min, ei_min, fi, a_min )
println(count, "f=", fi, "b:", bi_min, "c:", ci_min, "d:", di_min, "e:", ei_min, "(a:",len(a.String()),",", aa1, ")", t2.Seconds())
t1 = time.Now()
break
}
}
_rand -= 1000000
if _rand == 0 { _rand = 9000000 }
}
}
Уравнение Эйлера 4-й степени вида
a4 + b4 + c4 + d4 = (a + b + c + d)4
еще называют уравнением Jacobi–Madden, которые доказали бесконечное число подобных решений. Например
52814 = 10004 + 11204 + 32334 + 50804