Георгий Гуляев

20 февраля 2023 г.

1. Введение

Простейший пример прямоугольного треугольника с целыми сторонами (3, 4, 5), в соответствии с теоремой Пифагора, характеризуется известным равенством:

$$3^2 + 4^2 = 5^2$$

Для кубов натуральных чисел существует его полный аналог:

$$3^3 + 4^3 + 5^3 = 6^3$$

Не вдаваясь в его геометрическую интерпретацию скажем просто, что сумма кубов трех последовательных натуральных чисел равна кубу некоторого числа.

А есть ли подобное равенство для четырех последовательных кубов? Оказывается есть

$$11^3 + 12^3 + 13^3 + 14^3 = 20^3$$

А для пяти? А вот для пяти по непонятной причине такого равенства найти никак не удается. По крайней мере в пределах вычислительных возможностей компьютера.

Не было найдено подобного равенства ни для одного от 5 до 19 числа последовательных кубов.

А вот для 20-ти последовательных кубов таких равенств было обнаружено сразу два

$$3^{3} + 4^{3} + 5^{3} + 6^{3} + \dots + 20^{3} + 21^{3} + 22^{3} = 40^{3}$$

$15^{3} + 16^{3} + 17^{3} + 18^{3} + \dots + 32^{3} + 33^{3} + 34^{3} = 70^{3}$

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

Что касается источников, где затрагивалась бы данная проблема, то я нашел только переписку от 1997 года [1] и обсуждение на форуме mathoverflow [2]. [5-7] не совсем по данной теме, но там рассматриваются близкие вопросы.

2. Первые наблюдения и результаты

Для упрощения вычислений на компьютере выведем несколько формул. Обозначим

$$S_n = \sum_{x=1}^n x^3$$

Имеется замечательная формула (см. например [3])

$$S_n = \left(\sum_{x=1}^n x\right)^2 = \left(\frac{n(n+1)}{2}\right)^2 = T_n^2$$

Здесь $T_n=\frac{n(n+1)}{2}$ обозначает так называемое треугольное число - [4]. Исследуемую сумму n-m кубов последовательных натуральных чисел, начиная с m+1-го по n, обозначим

$$S_{m,n} = \sum_{x=m+1}^{n} x^3$$

Тогда, $S_{2,5}=6^3, S_{10,14}=20^3, S_{2,22}=40^3, S_{14,34}=70^3,$ согласно примеров из введения. Наша задача находить m и n при которых сумма $S_{m,n}$ является кубом некоторого натурального числа c.

Учитывая тот факт, что $S_{m,n}=S_n-S_m$ , получаем основную формулу для суммы $S_{m,n}$ :

$$S_{m,n} = T_n^2 - T_m^2 (1)$$

Определение. Если для некоторых натуральных m, n, c: $S_{m,n} = c^3$ , то тройку (m+1, n-m, c) будем называть решением задачи. Поскольку c легко вычисляется по m и n, то пару (m, n) будем также называть решением, если $S_{m,n} = c^3$ для некоторого $c \in \mathbb{N}$ .

Отметим, что m+1 - первое число в сумме $S_{m,n},$ а n-m - количество слагаемых.

Ну что же пришла пора написать первую программу на языке Julia и с ее помощью провести первые наблюдения.

`` function search(k1,k2) cbt(a) = Int64(floor(cbrt(a))) t(n) = div(n*(n+1),2) for m in 2:k1, n in m+2:k2 b = t(n)^2 - t(m)^2 a = cbt(b) if a^3==b println((m+1,n-m,a)) end\nend ``

Функция t(n) вычисляет n-е треугольное число, cbt(a) - вычисляет кубический корень и обрезает результат до целого. Выполним поиск решений (m+1,n-m,c) в диапазоне m до 100000 и n до 200000.

`` julia> search(100000,200000) (3, 3, 6) (3, 20, 40) (6, 25, 60) (6, 64, 180) (11, 4, 20) (11, 99, 330) ``

`` (15, 20, 70) (34, 125, 540) (213, 153, 1581) (213, 343, 2856) (273, 288, 2856) (291, 49, 1155) (305, 6591, 82680) (406, 512, 5544) (556, 99, 2805) (646, 153, 3876) (1134, 1000, 16830) (1624, 14161, 249424) (1735, 1331, 27060) (3010, 13923, 273819) (3606, 2197, 62244) (4880, 49776, 1306620) (4966, 2744, 90090) (8790, 4096, 175440) (11170, 63001, 1962820) (11368, 4913, 237456) (18171, 6859, 413820) (18551, 33124, 1205750) (22534, 8000, 534660) (33558, 10648, 860706) (34228, 1849, 431548) (40381, 12167, 1074744) (46690, 25201, 1764070) (57084, 15625, 1630200) (67150, 17576, 1983150) (91206, 21952, 2872044) ``

Первый, второй, пятый и седьмой результаты совпадают с примерами из введения. Интересно, что число c = 2856 повторилось два раза, то есть его куб представляется двумя способами как сумма кубов последовательных натуральных чисел: 288 кубов, начиная с 273 и 343 куба, начиная с 213.

Заметим, что среди чисел k = n− m встречается много кубов. Выпишим их отдельно:

`` (6, 64 = 4^3, 180) (34, 125 = 5^3, 540) (213, 343 = 7^3, 2856) (406, 512 = 8^3, 5544) (1134, 1000 = 10^3, 16830) (1735, 1331 = 11^3, 27060) (3606, 2197 = 13^3, 62244) (4966, 2744 = 14^3, 90090) (8790, 4096 = 16^3, 175440) (11368, 4913 = 17^3, 237456) (18171, 6859 = 19^3, 413820) (22534, 8000 = 20^3, 534660) (33558, 10648 = 22^3, 860706) (40381, 12167 = 23^3, 1074744) (57084, 15625 = 25^3, 1630200) (67150, 17576 = 26^3, 1983150) (91206, 21952 = 28^3, 2872044) ``

Тут прослеживаются явные закономерности. Все числа m+1, k, c равномерно растут, а в качестве k идут подряд кубы чисел 4, 5, 7, 8, 10, ..., то есть всех чисел больших 3 и не делящихся на 3.

В 1997 году Dave Rusin доказал следующую теорему [1].

Теорема 1. Пусть k является кубом: $k=u^3, u\in\mathbb{N}, u>3$ и u не делится на 3, тогда множество решений (i,k,c) вычисляется по формулам:

$$k = u^{3}, i = \frac{(u^{3} - 2u^{2} - 4u - 4)(u - 1)}{6}, c = \frac{u(u^{2} - 1)(u^{2} + 2)}{6}$$ (2)

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

Таким образом, мы получаем возможность легко находить сколько угодно большие решения (i,k,c).

$$f(u)=(div((u^3-2*u^2-4*u-4)*(u-1),6),u^3,div(u*(u^2-1)*(u^2+2),6))$$

julia> f(1853) (1961762744206, 6362477477, 3641044381633044)

julia> f(big(123456789)) (38717619525538349716578619196532, 1881676371789154860897069, 4779953100499530492335664361681889077740)

Из формул (2) можно выразить явно m и n и привести их к виду:

$$m = \frac{(u^2 - 1)^2 - 3(u^3 + 1)}{6}, n = \frac{(u^2 - 1)^2 + 3(u^3 - 1)}{6}, c = \frac{u(u^2 - 1)(u^2 + 2)}{6}$$

Заметим, что формулы подобные (2), были найдены и для более простого случая, когда сумма квадратов последовательных натуральных чисел является квадратом [7].

То есть, если i 2 + (i+ 1)2 +...+ (i+k −1)2 = c 2 , то в случае k = u 2 , u ∈ N, имеем семейство решений:

$$k = u^2, i = \frac{(u^2 + 1)(u^2 - 25)}{48}, c = \frac{u(u^4 + 47)}{48}$$ (3)

Любопытно, что здесь скорость роста i и c (u 4 и u 5 , соответственно) по отношению к формуле (2) не изменилась, несмотря на то, что k = u 2 растет на порядок медленнее, чем k = u 3 .

Формулу (3) еще можно переписать следующим образом:

$$k = u^2, i = \frac{(k+1)(k-25)}{48}, c = \frac{\sqrt{k(k^2+47)}}{48}$$

3. Общий случай любого k = n − m

К сожалению, в случае, когда k = n − m не является точным кубом, никакой закономерности уже не наблюдается.

(3, 3, 6) (11, 4, 20) (3, 20, 40) (15, 20, 70) (6, 25, 60) (291, 49, 1155) (11, 99, 330) (556, 99, 2805) (213, 153, 1581) (646, 153, 3876) (273, 288, 2856) (34228, 1849, 431548) (305, 6591, 82680) (3010, 13923, 273819) (1624, 14161, 249424) (46690, 25201, 1764070) (18551, 33124, 1205750) (4880, 49776, 1306620) (11170, 63001, 1962820)

Теорема 2. Пусть n, m ∈ N, n > m. Имеет место формула

$$S_{m,n} = \frac{(n-m)(n+m+1)(n^2+m^2+m+n)}{4} \tag{4}$$

Доказательство. Воспользуемся приведенной выше формулой (1).

$$S_{m,n} = T_n^2 - T_m^2 = \left(\frac{n(n+1)}{2}\right)^2 - \left(\frac{m(m+1)}{2}\right)^2 =$$

$$= \frac{[n(n+1) - m(m+1)] \times [n(n+1) + m(m+1)]}{4} =$$

$$\frac{(n^2 - m^2 + n - m) \times (n^2 + m^2 + n + m)}{4} = \frac{(n-m)(n+m+1)(n^2 + m^2 + m + n)}{4}$$

Что и требовалось доказать. Заметим, что выражение в числителе (4) делится на 4 для любых n, m ∈ N, n > m. Действительно, запишем его в следующем виде (n − m)(n + m + 1)[n(n + 1) + m(m + 1)].

Очевидно, что третья скобка всегда делится на 2, первая скобка (n − m) делится на 2 в случае, когда m и n имеют одинаковую четность, а вторая (n + m + 1) делится на 2 в случае, когда m и n имеют разную четность.

Также легко проверить, что при n = m + 1 формула (4) преобразуется к виду: Sm,n = (m + 1)3 .

Из формулы (4) следует еще одна формула для Sn,m.

Теорема 3. Пусть n, m ∈ N, n > m. Имеет место формула

$$S_{m,n} = \frac{[(2n+1)^2 - (2m+1)^2)][(2n+1)^2 + (2m+1)^2 - 2]}{64}$$ (5)

Доказательство. Заметим, что

$$(2n+1)^2 - (2m+1)^2 = (2n-2m)(2n+2m+2) = 4(n-m)(n+m+1)$$

$$(2n+1)^2 + (2m+1)^2 - 2 = 4n^2 + 4m^2 + 4n + 4m = 4(n^2 + m^2 + n + m)$$

Подставляя в формулу (4) найденные выражения для (n− m)(n+ m + 1) и для n 2 + m2 + n + m, получаем (5).

Следствие 1. Для того чтобы пара m, n ∈ N, n > m приводила к решению (m + 1, n − m, c), c ∈ N необходимо и достаточно чтобы выражение

$$[(2n+1)^2 - (2m+1)^2)][(2n+1)^2 + (2m+1)^2 - 2]$$ (6)

было кубом натурального числа.

Доказательство. Пусть (m + 1, n − m, c) - решение. Тогда Sm,n = c 3 . Умножим обе стороны равенства (5) на 64 = 43 . Получим

$$[(2n+1)^2 - (2m+1)^2)][(2n+1)^2 + (2m+1)^2 - 2] = 4^3 S_{m,n} = (4c)^3$$

Обратно, если выражение (6) является кубом, то, поскольку оно делится на 64 = 43 , этот куб можно записать в виде (4c) 3 для некоторого c. Тогда в формуле (5) Sm,n = c 3 . Таким образом, (m + 1, n − m, c) - решение. Что и требовалось доказать.

Выражение (6) содержит разность и сумму квадратов двух нечетных чисел. Нам нужно научиться определять, когда оно является кубом, а когда нет.

Следствие 2. Пусть $a,b\in\mathbb{N}$ - два нечетных числа и b>a. Введем следующие функции $g(x)=x^2-1$ и $f(x)=g(g(x))=(x^2-1)^2-1$ . Для того чтобы пара $m=\frac{a-1}{2}, n=\frac{b-1}{2}$ приводила к решению $(m+1,n-m,c), c\in\mathbb{N}$ необходимо и достаточно чтобы выражение

$$f(b) - f(a) = \int_a^b f'(x)dx \tag{7}$$

было кубом натурального числа.

Доказательство. Вытекает непосредственно из следствия 1, поскольку $f(b)-f(a)=(b^2-1)^2-(a^2-1)^2=(b^2-a^2)(b^2+a^2-2)=[(2n+1)^2-(2m+1)^2)][(2n+1)^2+(2m+1)^2-2].$

Представление в виде интеграла в (7) - обычная формула Ньютона-Лейбница. Отображение $x \to x^2-1$ имеет неподвижную точку $(\frac{\sqrt{5}+1}{2},\frac{\sqrt{5}+1}{2})=(\varphi,\varphi)$ , где $\varphi$ - золотое сечение.

Теорема 4. Пусть $u,v\in\mathbb{N},u>v,\;u$ и v имеют одинаковую четность, $g(x)=x^2-1$ и для некоторых нечетных натуральных a и b выполняются равенства:

$$g(a) = v(u^2 - v^2), g(b) = u(u^2 - v^2)$$ (8)

Тогда пара $m=\frac{a-1}{2}, n=\frac{b-1}{2}$ приводит к решению $(m+1,n-m,\frac{u^2-v^2}{4}).$ Доказательство. Пусть, как и в следствии 2 из теоремы $3,\ f(x)=g(g(x)),$ тогда

$$f(b) - f(a) = g(g(b)) - g(g(a)) = g(u(u^2 - v^2)) - g(v(u^2 - v^2)) =$$ $$(u(u^2 - v^2))^2 - (v(u^2 - v^2))^2 = (u^2 - v^2)^3$$

В соответствии со следствием 2 из теоремы 3, m и n приводят к решению (m+1,n-m,c). Так как u и v имеют одинаковую четность, то $u^2-v^2$ делится на 4, а из формулы (5) следует, что

$$S_{m,n} = \frac{f(b) - f(a)}{64} = \frac{(u^2 - v^2)^3}{64} = \left(\frac{u^2 - v^2}{4}\right)^3$$

Таким образом, $c = \frac{u^2 - v^2}{4}$ . Что и требовалось доказать.

4. Поиски новых решений (m, n)

На основе доказанных утверждений усовершенствуем нашу программу.

`` function search(k1,k2) a = 939393 l = fill(false,a) for i in 1:1000000 l[i^3%a+1] = true end cbt(x) = Int128(floor(cbrt(x))) isc(x) = x == cbt(x)^3 rate(k) = filter(x -> k<x[1],[(500,25),(5000,12),(20000,7),(10^9,2)])[1][2] g(x) = x^2 - 1; f(x) = g(g(Int128(x))); mf(x) = div((x^3-2x^2-4x-4)(x-1),6)-1 u = Int128(4); lm = Vector{Tuple{Int128,Int128,Int128}}(); mu = mf(u) inc() = if (u+1)%3>0 u+=1 else u+=2 end while mu < k1 inc(); mu = mf(u) end while mu <= k2 push!(lm,(u,mu,mu+u^3)); inc(); mu = mf(u) end for m in Int128(k1):k2 print("\e[2K"); print(m); print("\e[1G") for n in m+2:mrate(m) lm0 = filter(x -> x[2]==m&&x[3]==n,lm) if length(lm0)>0 print("\e[2K"); println(string((m,n)," u = ",lm0[1][1])) else z = f(2n+1) - f(2m+1) if l[z%a+1] if isc(z) print("\e[2K"); println((m,n)) end end end end end end ``

Для увеличения скорости работы программы используем массив из 939393 элементов true или false. Если для данного индекса существует куб натурального числа, который при делении на a=939393 дает остаток равный этому индексу, то пишем true, а иначе false.

И перед основной проверкой числа на куб (функция isc(x)), будем отсекать те числа z, для которых в массиве по индексу z%a+1 находится false.

При помощи этой программы удалось получить следующие пары (m,n), приводящие к решению. В тех случаях, когда они генерируются формулой (2), то есть, когда n - m является кубом, выводится соответствующее значение u.

`` (2, 5) (2, 22) (5, 30) (5, 69) u = 4 (10, 14) (10, 109) (14, 34) (33, 158) u = 5 (212, 365) (212, 555) u = 7 (272, 560) (290, 339) (304, 6895) (405, 917) u = 8 (555, 654) (645, 798) (1133, 2133) u = 10 (1623, 15784) (1734, 3065) u = 11 (3009, 16932) (3605, 5802) u = 13 (4879, 54655) (4965, 7709) u = 14 (8789, 12885) u = 16 (11169, 74170) (11367, 16280) u = 17 (18170, 25029) u = 19 ``

`` (18550, 51674) (22533, 30533) u = 20 (33557, 44205) u = 22 (34227, 36076) (40380, 52547) u = 23 (46689, 71890) (57083, 72708) u = 25 (67149, 84725) u = 26 (91205, 113157) u = 28 (105405, 129794) u = 29 (106454, 116654) (138704, 168495) u = 31 (158037, 190805) u = 32 (202685, 241989) u = 34 (228258, 271133) u = 35 (266784, 288240) (267902, 287122) (286577, 337230) u = 37 (319605, 374477) u = 38 (394133, 458133) u = 40 (407525, 584349) (418488, 769719) (435939, 504860) u = 41 (529430, 608937) u = 43 (581445, 666629) u = 44 (696869, 794205) u = 46 (760632, 864455) u = 47 (901175, 1018824) u = 49 (978333, 1103333) u = 50 (1147397, 1288005) u = 52 (1239705, 1388582) u = 53 (1440908, 1607283) u = 55 (1550229, 1725845) u = 56 (1787405, 1982517) u = 58 (1915710, 2121089) u = 59 (2192909, 2419890) u = 61 (2342277, 2580605) u = 62 (2663765, 2925909) u = 64 ``

`` (2836383, 3111008) u = 65 (2984767, 5234157) (3206642, 3507405) u = 67 (3404805, 3719237) u = 68 (3828533, 4171533) u = 70 (4054644, 4412555) u = 71 (4536755, 4925772) u = 73 (4793325, 5198549) u = 74 ``

Кажется, что с ростом значений m и n решения, когда n - m не куб, встречаются все реже и реже. Возможно ли, что их конечное число?

Непонятно, правда, как это можно было бы доказать. Дальнейшие вычисления занимают слишком много времени. К сожалению, попытка использовать формулу (8) из теоремы 4, также не приводит к новым решениям (m,n), когда n-m не куб.

`` function find(d1,d2) 1 = primes(123400, 123599) function test(x) for p in 1 if legendre(x,p)<2 \mid \mid return false end end true end sqt(x) = Int128(floor(sqrt(x))); ok(x,y) = x^2==y fa(u,v) = Int128(v)(u^2-v^2)+1; fb(u,v) = Int128(u)(u^2-v^2)+1 for v in d1 print("\e[2K"); print(v); print("\e[1G") for u in filter(x \rightarrow (x-v)%2==0,d2) aa = fa(u,v); bb = fb(u,v) if test(aa)&&test(bb) a = sqt(aa); b = sqt(bb) if ok(a,aa)&&ok(b,bb) m = div(a-1,2); n = div(b-1,2) print("\e[2K"); println((m,n,u,v)) end end end end end ``

Здесь для убыстрения процесса проверки на квадрат двух чисел a 2 и b 2 из формулы (8)

$$a^{2} = v(u^{2} - v^{2}) + 1, b^{2} = u(u^{2} - v^{2}) + 1$$

было использовано вычисление символа Лежандра на серии простых чисел. Однако, таким способом было найдено только 5 уже известных нам решений.

`` (2, 5, 5, 1) (14, 34, 17, 3) (272, 560, 110, 26) (418488, 769719, 13745, 4063) (106454, 116654, 5621, 4681) ``

Проверялись u, v: v ≤ 106 , u ≤ 3 · 106 . Программа выводит четверки (m, n, u, v).

Попробуем изучить поведение остатков f(2m + 1) и f(2n + 1) для f(x) = (x 2−1)2−1 при делении на разные числа, в том случае когда сумма Sm,n оказалась кубом натурального числа, но n − m не является кубом.

Выпишем все известные нам на данный момент такие пары чисел (m, n):

`` (2, 5) (2, 22) (5, 30) (10, 14) (10, 109) (14, 34) (212, 365) (272, 560) (290, 339) (304, 6895) (555, 654) (645, 798) (1623, 15784) (3009, 16932) (4879, 54655) ``

`` (11169, 74170) (18550, 51674) (34227, 36076) (46689, 71890) (106454, 116654) (266784, 288240) (267902, 287122) (407525, 584349) (418488, 769719) (2984767, 5234157) (21709457,33568667) ``

Всего их 26. Последняя пара этого списка не была вычислена нами - она была взята из незавершенной работы, на которую ведет ссылка в [2] -

[https://www.dropbox.com/s/v1snspj6ysq82g6/MathCubes\\_.pdf?dl=0](https://www.dropbox.com/s/v1snspj6ysq82g6/MathCubes_.pdf?dl=0).

Преобразуем их: (m, n) –> (f(2m + 1), f(2n + 1))

`` (575, 14399) (575, 4096575) (14399, 13838399) (193599, 705599) (193599, 2300161599) (705599, 22657599) (32625029375, 285540609599) (88223256575, 1579144089599) (113946753599, 212557881599) (137551974399, 36172875141222399) (1523545862399, 2936013710399) (2777822222399, 6504580966463) (111155017688063, 993215068035097599) (1312494068289599, 1315237912027474175) (9070291882086399, 142776085029643878399) (249031859116046399, 484222325845533198399) (1894708752849639999, 114084098519849639999) (21959411596501176575, 27103012911166046463) (76032080572904769599, 427371935042737921599) (2054830865163499598399, 2962961230337686670399) ``

`` (81051742813536862617599, 110443457117775496089599) (82418944434432179904575, 108739890109410751360575) (441305295038499182759999, 1865566307651480726759999) (490742979367888210166783, 5616295356845700661478399) (1269878035364469385412018175, 12009007878292809843005722175) (3553987258636796798346269146175, 20316850840506470662758008146175) ``

Легко заметить, что остатки полученных чисел при делении, например, на s = 103 повторяются: 063, 175, 375, 399, 463, 575, 599, 783, 999. Будем искать модули s с наименьшим числом классов вычетов для заданного промежутка s ∈ [k1, k2].

`` function lowr(k1,k2) r = 100 l = [(2, 5),(2, 22),(5, 30),(10, 14),(10, 109),(14, 34),(212, 365), (272, 560),(290, 339),(304, 6895),(555, 654),(645, 798),(1623, 15784), (3009, 16932),(4879, 54655),(11169, 74170),(18550, 51674),(34227, 36076), (46689, 71890),(106454, 116654),(266784, 288240),(267902, 287122), (407525, 584349),(418488, 769719),(2984767, 5234157),(21709457, 33568667)] g(x) = x^2 - 1; f(x) = g(g(x)) m(p) = map(x -> (x[1]%p,x[2]%p), map(x -> (f(2Int128(x[1])+1),f(2Int128(x[2])+1)), l)) str = "" for i in k1:k2 l0 = m(i); l1 = map(x-> x[1],l0); l2 = map(x-> x[2],l0); rm = union(l1,l2); n = length(rm) if n<=r println((i,n)) r = n str = string(i," --> ",sort!(rm)) end end println(str) end ``

Наилучший результат от 100 до 1000 показал модуль s = 576, дающий всего два остатка 63 и 575.

`` julia> lowr(100,1000) (100, 4) (108, 4) (112, 3) (128, 2) (144, 2) (192, 2) (256, 2) (288, 2) (576, 2) 576 --> Int128[63, 575] ``

Однако эффекта при поиске решений только на числах из данных двух классов вычетов мы не получим.

`` julia> length(filter(x -> f(x)%576 in [63,575], 1:2:10^6)) 499999 ``

Переходя к поиску среди чисел двух классов вычетов, из 500000 нечетных чисел будем использовать 499999 чисел, то есть практически 100% чисел. Продолжая искать при помощи программы lowr модули, дающие наименьшее количество остатков для чисел разных разрядов, находим:

`` 2304 ==> 4 остатка, 499999 из 500000, 100% 14400 ==> 7 остатков, 366666 из 500000, 73% 115200 ==> 14 остатков, 305000 из 500000, 61% 1036800 ==> 24 остатка, 171847 из 500000, 34% 16934400 ==> 33 остатка, 80529 из 500000, 16% 305877600 ==> 41 остаток, 16009 из 500000, 3% ``

Осуществляя поиск на меньшем количестве чисел, мы ускоряем программу поиска.

Разумеется, таким способом мы найдем все уже известные нам решения (m,n), когда n-m - не куб, однако рискуем упустить какие-либо неизвестные нам случаи, когда решения могут давать новые остатки, не учтенные нами.

Например, если выбрать компромиссный средний из найденных способ для поиска решений (m,n), среди классов вычетов по модулю 1036800, то мы получим ускорение программы поиска примерно в 3 раза, а сама программа может выглядеть так:

`` function search(k1,k2) 10 = [575, 14399, 43775, 63999, 129599, 193599, 230399, 359999, 403199, 461375, 504063, 512063, 539199, 575999, 705599, 728063, 741375, 755199, 797183, 850175, 884799, 907775, 921599, 986175] b = 939393 1 = fill(false,b) for i in 1:1000000 1[i^3\%b+1] = true end cbt(a) = Int128(floor(cbrt(a))) isc(a) = a == cbt(a)^3 g(x) = x^2 - 1; f(x) = g(g(x)) if k1\%2==0 k1+=1 end 11 = map(x \rightarrow (div(x-1,2),f(x)),filter(x \rightarrow f(x))1036800 in 10, Int128(k1):2:k2)) for i in 1:length(ll)-1 print("\e[2K"); print(ll[i][1]); print("\e[1G") j = i+1; if ll[j][1]-ll[i][1]<2 j+=1 end while j<=length(ll) z = 11[j][2] - 11[i][2] if l[z%b+1] if isc(z) print("\e[2K"); println((l1[i][1],l1[j][1])) end end j+=1 end end end ``

Можно также попробовать и другие перечисленные выше варианты модулей. Интрига заключается лишь в том, сможет ли программа найти хотя бы одно новое решение, которое можно было бы добавить к 26-ти уже имеющимся, или же нет. В результате длительных поисков решений (m, n), среди классов вычетов по различным модулям не было найдено ни одного нового решения (m, n), когда n − m - не куб. Для модуля 305877600 проверка m, n проводилась вплоть до m ≤ 5 · 107 , n ≤ 108 .

В связи с проведенным исследованием возникают следующие предположения, которые нужно доказать или опровергнуть.

Предположение 1. Существует лишь конечное множество решений (m, n), когда n − m - не куб.

Предположение 2. Существует только 26 перечисленных выше решений (m, n), когда n − m - не куб.

Предположение 3. Существует только 5 перечисленных выше решений (m, n), удовлетворяющих формуле (8).

Ссылки

  • [1] [https://web.archive.org/web/20150106144342/http://www.math.ni](https://web.archive.org/web/20150106144342/http://www.math.niu.edu:80/%7Erusin/known-math/97/cube.sum)u. [edu:80/%7Erusin/known-math/97/cube.sum](https://web.archive.org/web/20150106144342/http://www.math.niu.edu:80/%7Erusin/known-math/97/cube.sum)
  • [2] <https://mathoverflow.net/questions/199297/sum-of-consecutive-cubes>
  • [3] [https://wiki5.ru/wiki/Squared\\_triangular\\_number](https://wiki5.ru/wiki/Squared_triangular_number)
  • [4] [https://ru.wikipedia.org/wiki/%D0%A2%D1%80%D0%B5%D1%83%D0%B3%](https://ru.wikipedia.org/wiki/%D0%A2%D1%80%D0%B5%D1%83%D0%B3%D0%BE%D0%BB%D1%8C%D0%BD%D0%BE%D0%B5_%D1%87%D0%B8%D1%81%D0%BB%D0%BE) [D0%BE%D0%BB%D1%8C%D0%BD%D0%BE%D0%B5\\_%D1%87%D0%B8%D1%81%D0%BB%D0%](https://ru.wikipedia.org/wiki/%D0%A2%D1%80%D0%B5%D1%83%D0%B3%D0%BE%D0%BB%D1%8C%D0%BD%D0%BE%D0%B5_%D1%87%D0%B8%D1%81%D0%BB%D0%BE) [BE](https://ru.wikipedia.org/wiki/%D0%A2%D1%80%D0%B5%D1%83%D0%B3%D0%BE%D0%BB%D1%8C%D0%BD%D0%BE%D0%B5_%D1%87%D0%B8%D1%81%D0%BB%D0%BE)
  • [5] [https://ru.wikipedia.org/wiki/%D0%97%D0%B0%D0%B4%D0%B0%D1%87%](https://ru.wikipedia.org/wiki/%D0%97%D0%B0%D0%B4%D0%B0%D1%87%D0%B0_%D0%BE_%D1%87%D0%B5%D1%82%D1%8B%D1%80%D1%91%D1%85_%D0%BA%D1%83%D0%B1%D0%B0%D1%85) [D0%B0\\_%D0%BE\\_%D1%87%D0%B5%D1%82%D1%8B%D1%80%D1%91%D1%85\\_%D0%BA%D](https://ru.wikipedia.org/wiki/%D0%97%D0%B0%D0%B4%D0%B0%D1%87%D0%B0_%D0%BE_%D1%87%D0%B5%D1%82%D1%8B%D1%80%D1%91%D1%85_%D0%BA%D1%83%D0%B1%D0%B0%D1%85)1% [83%D0%B1%D0%B0%D1%85](https://ru.wikipedia.org/wiki/%D0%97%D0%B0%D0%B4%D0%B0%D1%87%D0%B0_%D0%BE_%D1%87%D0%B5%D1%82%D1%8B%D1%80%D1%91%D1%85_%D0%BA%D1%83%D0%B1%D0%B0%D1%85)
  • [6] [https://ru.wikipedia.org/wiki/%D0%93%D0%B8%D0%BF%D0%BE%D1%82%](https://ru.wikipedia.org/wiki/%D0%93%D0%B8%D0%BF%D0%BE%D1%82%D0%B5%D0%B7%D0%B0_%D0%9B%D0%B0%D0%BD%D0%B4%D0%B5%D1%80%D0%B0_%E2%80%94_%D0%9F%D0%B0%D1%80%D0%BA%D0%B8%D0%BD%D0%B0_%E2%80%94_%D0%A1%D0%B5%D0%BB%D1%84%D1%80%D0%B8%D0%B4%D0%B6%D0%B0) [D0%B5%D0%B7%D0%B0\\_%D0%9B%D0%B0%D0%BD%D0%B4%D0%B5%D1%80%D0%B0\\_%E2](https://ru.wikipedia.org/wiki/%D0%93%D0%B8%D0%BF%D0%BE%D1%82%D0%B5%D0%B7%D0%B0_%D0%9B%D0%B0%D0%BD%D0%B4%D0%B5%D1%80%D0%B0_%E2%80%94_%D0%9F%D0%B0%D1%80%D0%BA%D0%B8%D0%BD%D0%B0_%E2%80%94_%D0%A1%D0%B5%D0%BB%D1%84%D1%80%D0%B8%D0%B4%D0%B6%D0%B0)% [80%94\\_%D0%9F%D0%B0%D1%80%D0%BA%D0%B8%D0%BD%D0%B0\\_%E2%80%94\\_%D0%A](https://ru.wikipedia.org/wiki/%D0%93%D0%B8%D0%BF%D0%BE%D1%82%D0%B5%D0%B7%D0%B0_%D0%9B%D0%B0%D0%BD%D0%B4%D0%B5%D1%80%D0%B0_%E2%80%94_%D0%9F%D0%B0%D1%80%D0%BA%D0%B8%D0%BD%D0%B0_%E2%80%94_%D0%A1%D0%B5%D0%BB%D1%84%D1%80%D0%B8%D0%B4%D0%B6%D0%B0)1% [D0%B5%D0%BB%D1%84%D1%80%D0%B8%D0%B4%D0%B6%D0%B0](https://ru.wikipedia.org/wiki/%D0%93%D0%B8%D0%BF%D0%BE%D1%82%D0%B5%D0%B7%D0%B0_%D0%9B%D0%B0%D0%BD%D0%B4%D0%B5%D1%80%D0%B0_%E2%80%94_%D0%9F%D0%B0%D1%80%D0%BA%D0%B8%D0%BD%D0%B0_%E2%80%94_%D0%A1%D0%B5%D0%BB%D1%84%D1%80%D0%B8%D0%B4%D0%B6%D0%B0)
  • [7] Michael Hirschhorn. When is the sum of consecutive squares a square? // The Mathematical Gazette. — November 2011. — Т. 95. — С. 511–2. — ISSN 0025-5572 [https://web.maths.unsw.edu.au/~mikeh/webpapers/paper173](https://web.maths.unsw.edu.au/~mikeh/webpapers/paper173.pdf). [pdf](https://web.maths.unsw.edu.au/~mikeh/webpapers/paper173.pdf)

Дополнение 1 (от 26 апреля 2023 года)

Предположение 2 оказалось неверным, так как было найдено еще одно решение (1108620, 3106188), пропущенное при поиске. Причина пропуска была не из-за ошибок в программе, а из-за ограничения на переменную n при поиске.

Решения (m, n) в последней версии программы искались со следующими ограничениями:

`` 2 <= m <= 100000, n <= 100m 100000 < m <= 1100000, n <= 10m 1100000 < m <= 5200000, n <= 2m ``

В найденном новом решении, очевидно, m > 1100000 и n > 2m. Возможно есть и другие решения за пределами этих ограничений. Поиски продолжаются.