Суммы кубов последовательных натуральных чисел Георгий Гуляев 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 числа последовательных кубов. 1 А вот для 20-ти последовательных кубов таких равенств было обнару- жено сразу два 3 3 + 4 3 + 5 3 + 6 3 + ... + 20 3 + 21 3 + 22 3 = 40 3 15 3 + 16 3 + 17 3 + 18 3 + ... + 32 3 + 33 3 + 34 3 = 70 3 Исследование возможности представления суммы кубов последователь- ных натуральных чисел в виде куба некоторого натурального числа при помощи компьютера приводит нас к интересным и даже немного стран- ным наблюдениям, о которых и пойдет речь в данной статье. Что касается источников, где затрагивалась бы данная проблема, то я нашел только переписку от 1997 года [1] и обсуждение на форуме mathoverflow [2]. [5-7] не совсем по данной теме, но там рассматри- ваются близкие вопросы. 2. Первые наблюдения и результаты Для упрощения вычислений на компьютере выведем несколько формул. Обозначим S n = n ∑ x =1 x 3 Имеется замечательная формула (см. например [3]) S n = ( n ∑ x =1 x ) 2 = ( n ( n + 1) 2 ) 2 = T 2 n Здесь T n = n ( n +1) 2 обозначает так называемое треугольное число - [4]. Исследуемую сумму n − m кубов последовательных натуральных чисел, начиная с m + 1 -го по n , обозначим S m,n = n ∑ x = m +1 x 3 Тогда, S 2 , 5 = 6 3 , S 10 , 14 = 20 3 , S 2 , 22 = 40 3 , S 14 , 34 = 70 3 , cогласно приме- ров из введения. Наша задача находить m и n при которых сумма S m,n является кубом некоторого натурального числа c . 2 Учитывая тот факт, что S m,n = S n − S m , получаем основную формулу для суммы S m,n : S m,n = T 2 n − T 2 m (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 ∈ 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 end end Функция 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) 3 (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 встречается много кубов. Выпишим их отдельно: 4 (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 ∈ N , u > 3 и u не делится на 3, тогда множество решений ( i, k, c ) вычисляется по формулам: k = u 3 , i = ( u 3 − 2 u 2 − 4 u − 4)( u − 1) 6 , c = 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)) 5 julia> f(1853) (1961762744206, 6362477477, 3641044381633044) julia> f(big(123456789)) (38717619525538349716578619196532, 1881676371789154860897069, 4779953100499530492335664361681889077740) Из формул (2) можно выразить явно m и n и привести их к виду: m = ( u 2 − 1) 2 − 3( u 3 + 1) 6 , n = ( u 2 − 1) 2 + 3( u 3 − 1) 6 , c = 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 = ( u 2 + 1)( u 2 − 25) 48 , c = u ( u 4 + 47) 48 (3) Любопытно, что здесь скорость роста i и c ( u 4 и u 5 , соответственно) по отношению к формуле (2) не изменилась, несмотря на то, что k = u 2 растет на порядок медленнее, чем k = u 3 . Формулу (3) еще можно переписать следующим образом: k = u 2 , i = ( k + 1)( k − 25) 48 , c = √ k ( k 2 + 47) 48 3. Общий случай любого k = n − m К сожалению, в случае, когда k = n − m не является точным кубом, никакой закономерности уже не наблюдается. 6 (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 = ( n − m )( n + m + 1)( n 2 + m 2 + m + n ) 4 (4) Доказательство . Воспользуемся приведенной выше формулой (1). S m,n = T 2 n − T 2 m = ( n ( n + 1) 2 ) 2 − ( m ( m + 1) 2 ) 2 = = [ n ( n + 1) − m ( m + 1)] × [ n ( n + 1) + m ( m + 1)] 4 = ( n 2 − m 2 + n − m ) × ( n 2 + m 2 + n + m ) 4 = ( 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)] . 7 Очевидно, что третья скобка всегда делится на 2, первая скобка ( n − m ) делится на 2 в случае, когда m и n имеют одинаковую четность, а вторая ( n + m + 1) делится на 2 в случае, когда m и n имеют разную четность. Также легко проверить, что при n = m + 1 формула (4) преобразуется к виду: S m,n = ( m + 1) 3 . Из формулы (4) следует еще одна формула для S n,m . Теорема 3 . Пусть n, m ∈ N , n > m . Имеет место формула S m,n = [(2 n + 1) 2 − (2 m + 1) 2 )][(2 n + 1) 2 + (2 m + 1) 2 − 2] 64 (5) Доказательство . Заметим, что (2 n + 1) 2 − (2 m + 1) 2 = (2 n − 2 m )(2 n + 2 m + 2) = 4( n − m )( n + m + 1) (2 n + 1) 2 + (2 m + 1) 2 − 2 = 4 n 2 + 4 m 2 + 4 n + 4 m = 4( n 2 + m 2 + n + m ) Подставляя в формулу (4) найденные выражения для ( n − m )( n + m + 1) и для n 2 + m 2 + n + m , получаем (5). Следствие 1 . Для того чтобы пара m, n ∈ N , n > m приводила к реше- нию ( m + 1 , n − m, c ) , c ∈ N необходимо и достаточно чтобы выражение [(2 n + 1) 2 − (2 m + 1) 2 )][(2 n + 1) 2 + (2 m + 1) 2 − 2] (6) было кубом натурального числа. Доказательство . Пусть ( m + 1 , n − m, c ) - решение. Тогда S m,n = c 3 . Умножим обе стороны равенства (5) на 64 = 4 3 . Получим [(2 n + 1) 2 − (2 m + 1) 2 )][(2 n + 1) 2 + (2 m + 1) 2 − 2] = 4 3 S m,n = (4 c ) 3 Обратно, если выражение (6) является кубом, то, поскольку оно делится на 64 = 4 3 , этот куб можно записать в виде (4 c ) 3 для некоторого c . Тогда в формуле (5) S m,n = c 3 . Таким образом, ( m + 1 , n − m, c ) - решение. Что и требовалось доказать. Выражение (6) содержит разность и сумму квадратов двух нечетных чисел. Нам нужно научиться определять, когда оно является кубом, а когда нет. 8 Следствие 2 . Пусть a, b ∈ N - два нечетных числа и b > a . Введем следующие функции g ( x ) = x 2 − 1 и f ( x ) = g ( g ( x )) = ( x 2 − 1) 2 − 1 . Для того чтобы пара m = a − 1 2 , n = b − 1 2 приводила к решению ( m +1 , n − m, c ) , c ∈ N необходимо и достаточно чтобы выражение f ( b ) − f ( a ) = ∫ b a f ′ ( x ) dx (7) было кубом натурального числа. Доказательство . Вытекает непосредственно из следствия 1, поскольку f ( b ) − f ( a ) = ( b 2 − 1) 2 − ( a 2 − 1) 2 = ( b 2 − a 2 )( b 2 + a 2 − 2) = [(2 n + 1) 2 − (2 m + 1) 2 )][(2 n + 1) 2 + (2 m + 1) 2 − 2] . Представление в виде интеграла в (7) - обычная формула Ньютона- Лейбница. Отображение x → x 2 − 1 имеет неподвижную точку ( √ 5+1 2 , √ 5+1 2 ) = ( ϕ, ϕ ) , где ϕ - золотое сечение. Теорема 4 . Пусть u, v ∈ 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 = a − 1 2 , n = b − 1 2 приводит к решению ( m + 1 , n − m, 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 = f ( b ) − f ( a ) 64 = ( u 2 − v 2 ) 3 64 = ( u 2 − v 2 4 ) 3 Таким образом, c = u 2 − v 2 4 . Что и требовалось доказать. 9 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-2*x^2-4*x-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:m*rate(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(2*n+1) - f(2*m+1) if l[z%a+1] if isc(z) print("\e[2K"); println((m,n)) end end end end end end Для увеличения скорости работы программы используем массив из 939393 элементов true или false. Если для данного индекса существует куб нату- 10 рального числа, который при делении на 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 11 (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 12 (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) l = primes(123400,123599) function test(x) for p in l if legendre(x,p)<2 || 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 -> (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 13 Здесь для убыстрения процесса проверки на квадрат двух чисел 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 ≤ 10 6 , u ≤ 3 · 10 6 . Программа выводит четверки ( m, n, u, v ) . Попробуем изучить поведение остатков f (2 m + 1) и f (2 n + 1) для f ( x ) = ( x 2 − 1) 2 − 1 при делении на разные числа, в том случае когда сумма S m,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) 14 (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 . Преобразуем их: ( m, n ) –> ( f (2 m + 1) , f (2 n + 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) 15 (81051742813536862617599, 110443457117775496089599) (82418944434432179904575, 108739890109410751360575) (441305295038499182759999, 1865566307651480726759999) (490742979367888210166783, 5616295356845700661478399) (1269878035364469385412018175, 12009007878292809843005722175) (3553987258636796798346269146175, 20316850840506470662758008146175) Легко заметить, что остатки полученных чисел при делении, например, на s = 10 3 повторяются: 063, 175, 375, 399, 463, 575, 599, 783, 999. Будем искать модули s с наименьшим числом классов вычетов для заданного промежутка s ∈ [ k 1 , k 2] . 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(2*Int128(x[1])+1),f(2*Int128(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. 16 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 - не куб, однако рискуем упустить какие-либо неизвестные нам случаи, когда решения могут давать новые остатки, не учтенные нами. 17 Например, если выбрать компромиссный средний из найденных способ для поиска решений ( m, n ) , среди классов вычетов по модулю 1036800, то мы получим ускорение программы поиска примерно в 3 раза, а сама программа может выглядеть так: function search(k1,k2) l0 =[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 l = fill(false,b) for i in 1:1000000 l[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 ll = map(x -> (div(x-1,2),f(x)),filter(x -> f(x)%1036800 in l0, 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 = ll[j][2] - ll[i][2] if l[z%b+1] if isc(z) print("\e[2K"); println((ll[i][1],ll[j][1])) end end j+=1 end end end Можно также попробовать и другие перечисленные выше варианты мо- дулей. Интрига заключается лишь в том, сможет ли программа найти хотя бы одно новое решение, которое можно было бы добавить к 26-ти уже имеющимся, или же нет. 18 В результате длительных поисков решений ( m, n ) , среди классов выче- тов по различным модулям не было найдено ни одного нового решения ( m, n ) , когда n − m - не куб. Для модуля 305877600 проверка m, n про- водилась вплоть до m ≤ 5 · 10 7 , n ≤ 10 8 . В связи с проведенным исследованием возникают следующие предполо- жения, которые нужно доказать или опровергнуть. Предположение 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.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 [4] 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% 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% 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. pdf 19 Дополнение 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 > 2 m . Воз- можно есть и другие решения за пределами этих ограничений. Поиски продолжаются. 20
Математика
Русский
02.07.2026 AX-134227
Суммы кубов последовательных натуральных чисел
Аннотация
Исследование возможности представления суммы кубов последовательных натуральных чисел в виде куба некоторого натурального числа. Доказано несколько теорем, приводятся компьютерные программы для поиска новых представлений.
Abstract
The representing the sum of cubes of consecutive natural numbers as the cube of some natural number investigated. Some theorems are proven, and computer programs for finding new representations are presented.
Ниже — текст, извлечённый из PDF для поиска и ИИ. Формулы, таблицы и точное форматирование смотрите в PDF-файле выше.
Ключевые слова
Кратко о работе
О чём работа?
Исследование возможности представления суммы кубов последовательных натуральных чисел в виде куба некоторого натурального числа. Доказано несколько теорем, приводятся компьютерные программы для поиска новых представлений.
Ключевые темы?
сумма кубов, треугольные числа, представление.