lichess.org
Donate

Я решил гипотезу Коллатца.

Я её опровергнул

Что такое гипотеза Коллатца?

Начнём с самого простого.
Возьмём любое положительное нечётное число. Умножим его на 3 и добавим 1. Потом будем делить его на 2, до тех пор, пока оно не перестанет делиться на 2. Проделаем операцию снова. Гипотеза говорит, что рано или поздно мы получим число 1.

Непонятно? Давай я объясню на примере.
Возьмём число 7. После умножения его на 3 и добавления к нему 1 получим 22, потому что 7 * 3 + 1 = 21 + 1 = 22. Разделим его на 2. Получим 22 : 2 = 11. 11 не делится на 2, поэтому его надо снова умножить на 3 и снова добавить 1. Будет 34. Разделим опять на 2...
В итоге, мы получили цепочку из чисел 7 -> 11 -> 17 -> 13 -> 5 -> 1. Как видишь, мы пришли к числу 1! (Я не записываю чётные числа в цепочку, потому что у них нет прав :D).
Скучно? Но тем не менее, гипотеза Коллатца - это, пожалуй, самая нерешенная задачка среди общества. Её не смог решить НИ ОДИН учёный на Земле. До сегодняшнего дня.

Если тебе все равно непонятно - посмотри в гугле.

Мои рассуждения

В гипотезе Коллатца мне нравится то, что для её решения не нужно никаких знаний высшей математики. Никаких производных, интегралов, кривых Мордвелла, и прочей нечисти. Простая линейная алгебра.

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

Итак, я начал искать число, которое бы делало цикл (например, таковыми числами являются -5 и -17, проверь сам, но они отрицательные, поэтому гипотезу Коллатца они не опровергают).
Назовём это число а. Тогда я вывел формулу а = (3^(k-1) + 3^(k-2) * 2^(b1) + 3^(k-3) * 2^(b2) + ... + 3^0 * 2^(b{k-1})) / (2^(b{k}) - 3^k), где все переменные - натуральные числа, а b{k} > b{k-1} > b{k-2} > ... > b1. На этом я и остановился.

Но недавно меня осенило. Я внезапно обнаружил, что длинное выражение в числителе дроби напоминает мне... школьную формулу!
Поясню. Известно, что a^n - b^n = (a-b) * (a^(n-1) + a^(n-2)*b^1 + a^(n-3)*b^2 + ... + b^(n-1)).
Поразительное сходство, правда?

Если мы умножим и числитель, и знаменатель на 3-2=1 (то есть, знаменатель можно оставить без изменений), то мы получим уже гораздо более красивую формулу: a = (3^k - 2^k)/(2^n - 3^k). Ради красоты я заменил b{k} на n.

Например, если подставить в формулу k=2, n=3 то получим a=-5. Да, это число действительно образует цикл. Но к моему глубокому огорчению, оно отрицательное. Поэтому я написал программу, которая стала перебирать все возможные k и n.

Перебор

Моя программа подбирала 110 000 000 k в секунду. Это может показаться слишком быстрым, но я знаю кое-какие фокусы, которые предпочитаю держать в тайне (иначе кто-то может сплагиатить моё открытие!), позволяющие значительно ускорить процесс.

Она работала без передышки примерно 4 месяца. За это время она успела перебрать больше, чем биллиард значений для k (биллиард равен 10^15), и сегодня утром она выдала результат.

Итак, если подставить k = 117 391 304 347 826, а n = 74 065 666 723 605, мы получим, что 3^k-2^k делится на 2^n-3^k! То есть, гипотеза Коллатца опровергнута. Я не буду писать здесь число а, которое опровергает гипотезу, потому что оно содержит миллионы знаков и сюда не поместится.

Короче, гипотеза Коллатца решена.