2015年8月22日土曜日

150822(4)

Ruby


どの2つの和も立方数(3)

どの2つの和も立方数となるような異なる4個の自然数の組
のうちその和が最小となるものは
(1493580092, 2510949380, 7071213244, 51114333631)
である。
このことを以下のコードで確かめた。

=begin
どの2つの和も立方数となるような異なる4個の自然数の組を
(a, b, c, d)(ただし、a < b < c < d)とすると、
a + b = u^3,
a + c = v^3,
a + d = w^3,
b + c = x^3,
b + d = y^3,
c + d = z^3
とおける。
a, b, c, dの大小関係より、
u < v < x, w < y < z,
u < z, v < y
が成立。
また、
u^3 + z^3 = v^3 + y^3 = w^3 + x^3 (= a + b + c + d)
a = ((u^3 + v^3 + w^3) - (a + b + c + d)) / 2
が成立。
=end

# a + b + c + dの候補
N = 5000
h = {}
(1..N - 1).each{|i|
  (i + 1..N).each{|j|
    c = i * i * i + j * j * j
    h.key?(c) ? h[c] = h[c].push([i, j]) : h[c] = [[i, j]]
  }
}

# 3通りで表せるもの
h3 = h.select{|k, v| v.size == 3}
p h3
h3.each{|i|
  j0 = i[1][0][0] ** 3 + i[1][1][0] ** 3 + i[1][2][0] ** 3 - i[0]
  if j0 > 0
    if j0 % 2 == 0
      a0 = j0 / 2
      p [a0, i[1][0][0] ** 3 - a0, i[1][1][0] ** 3 - a0, i[1][2][0] ** 3 - a0]
    end
  end
  j1 = i[1][0][0] ** 3 + i[1][1][0] ** 3 + i[1][2][1] ** 3 - i[0]
  if j1 > 0
    if j1 % 2 == 0
      a1 = j1 / 2
      p [a1, i[1][0][0] ** 3 - a1, i[1][1][0] ** 3 - a1, i[1][2][1] ** 3 - a1]
    end
  end
}
# 4通り以上で表せるものはN = 5000のときは存在しない
p h.select{|k, v| v.size > 3}

# 検証
ary = [1493580092, 2510949380, 7071213244, 51114333631]

p ary[0] + ary[1] == 1588 ** 3
p ary[0] + ary[2] == 2046 ** 3
p ary[0] + ary[3] == 3747 ** 3
p ary[1] + ary[2] == 2124 ** 3
p ary[1] + ary[3] == 3771 ** 3
p ary[2] + ary[3] == 3875 ** 3

出力結果
{18778674824=>[[8, 2658], [575, 2649], [1899, 2285]], 1915865217=>[[9, 1242], [484, 1217], [969, 1002]], 119824488=>[[11, 493], [90, 492], [346, 428]], 804360375=>[[15, 930], [198, 927], [295, 920]], 15326921736=>[[18, 2484], [968, 2434], [1938, 2004]], 958595904=>[[22, 986], [180, 984], [692, 856]], 51728360859=>[[27, 3726], [1452, 3651], [2907, 3006]], 6434883000=>[[30, 1860], [396, 1854], [590, 1840]], 3235261176=>[[33, 1479], [270, 1476], [1038, 1284]], 53072642168=>[[36, 3758], [1454, 3684], [2543, 3321]], 122615373888=>[[36, 4968], [1936, 4868], [3876, 4008]], 7668767232=>[[44, 1972], [360, 1968], [1384, 1712]], 21717730125=>[[45, 2790], [594, 2781], [885, 2760]], 38786216625=>[[50, 3385], [1390, 3305], [1618, 3257]], 14978061000=>[[55, 2465], [450, 2460], [1730, 2140]], 51479064000=>[[60, 3720], [792, 3708], [1180, 3680]], 25882089408=>[[66, 2958], [540, 2952], [2076, 2568]], 175959000=>[[70, 560], [198, 552], [315, 525]], 100545046875=>[[75, 4650], [990, 4635], [1475, 4600]], 41099799384=>[[77, 3451], [630, 3444], [2422, 2996]], 3080802816=>[[81, 1455], [456, 1440], [904, 1328]], 61350137856=>[[88, 3944], [720, 3936], [2768, 3424]], 87352051752=>[[99, 4437], [810, 4428], [3114, 3852]], 119824488000=>[[110, 4930], [900, 4920], [3460, 4280]], 143604279=>[[111, 522], [359, 460], [408, 423]], 3499524728=>[[116, 1518], [350, 1512], [1169, 1239]], 104622178752=>[[124, 4712], [928, 4700], [1271, 4681]], 122026235968=>[[132, 4960], [873, 4951], [3720, 4132]], 1407672000=>[[140, 1120], [396, 1104], [630, 1050]], 21303180171=>[[147, 2772], [1107, 2712], [1666, 2555]], 24646422528=>[[162, 2910], [912, 2880], [1808, 2656]], 87539319=>[[167, 436], [228, 423], [255, 414]], 5544709352=>[[207, 1769], [842, 1704], [1076, 1626]], 4750893000=>[[210, 1680], [594, 1656], [945, 1575]], 10499580728=>[[219, 2189], [1262, 2040], [1604, 1854]], 1148834232=>[[222, 1044], [718, 920], [816, 846]], 1840667192=>[[225, 1223], [372, 1214], [681, 1151]], 27996197824=>[[232, 3036], [700, 3024], [2338, 2478]], 83181676032=>[[243, 4365], [1368, 4320], [2712, 3984]], 11261376000=>[[280, 2240], [792, 2208], [1260, 2100]], 327763000=>[[300, 670], [339, 661], [510, 580]], 3877315533=>[[333, 1566], [1077, 1380], [1224, 1269]], 700314552=>[[334, 872], [456, 846], [510, 828]], 3623721192=>[[348, 1530], [761, 1471], [1098, 1320]], 94487167656=>[[348, 4554], [1050, 4536], [3507, 3717]], 21994875000=>[[350, 2800], [990, 2760], [1575, 2625]], 21989186856=>[[393, 2799], [1392, 2682], [2186, 2260]], 44357674816=>[[414, 3538], [1684, 3408], [2152, 3252]], 26059452841=>[[417, 2962], [1290, 2881], [2193, 2494]], 38007144000=>[[420, 3360], [1188, 3312], [1890, 3150]], 10458523413=>[[438, 2181], [1058, 2101], [1269, 2034]], 83996645824=>[[438, 4378], [2524, 4080], [3208, 3708]], 9190673856=>[[444, 2088], [1436, 1840], [1632, 1692]], 14725337536=>[[450, 2446], [744, 2428], [1362, 2302]], 60353937000=>[[490, 3920], [1386, 3864], [2205, 3675]], 2363561613=>[[501, 1308], [684, 1269], [765, 1242]], 15170835645=>[[517, 2468], [709, 2456], [1733, 2152]], 17950534875=>[[555, 2610], [1795, 2300], [2040, 2115]], 106872501519=>[[558, 4743], [2487, 4506], [3751, 3782]], 90091008000=>[[560, 4480], [1584, 4416], [2520, 4200]], 119068866189=>[[576, 4917], [821, 4912], [3573, 4188]], 2622104000=>[[600, 1340], [678, 1322], [1020, 1160]], 31018524264=>[[666, 3132], [2154, 2760], [2448, 2538]], 5602516416=>[[668, 1744], [912, 1692], [1020, 1656]], 49698014184=>[[675, 3669], [1116, 3642], [2043, 3453]], 28989769536=>[[696, 3060], [1522, 2942], [2196, 2640]], 10833628897=>[[738, 2185], [988, 2145], [1326, 2041]], 38947913424=>[[738, 3378], [1115, 3349], [1974, 3150]], 109568696139=>[[750, 4779], [1363, 4748], [2154, 4635]], 49256267697=>[[777, 3654], [2513, 3220], [2856, 2961]], 10942414875=>[[835, 2180], [1140, 2115], [1275, 2070]], 83668187304=>[[876, 4362], [2116, 4202], [2538, 4068]], 73525390848=>[[888, 4176], [2872, 3680], [3264, 3384]], 8849601000=>[[900, 2010], [1017, 1983], [1530, 1740]], 117802700288=>[[900, 4892], [1488, 4856], [2724, 4604]], 56065076613=>[[992, 3805], [1548, 3741], [2742, 3285]], 104687519391=>[[999, 4698], [3231, 4140], [3672, 3807]], 18908492904=>[[1002, 2616], [1368, 2538], [1530, 2484]], 121366685160=>[[1034, 4936], [1418, 4912], [3466, 4304]], 97840472184=>[[1044, 4590], [2283, 4413], [3294, 3960]], 30025986417=>[[1169, 3052], [1596, 2961], [1785, 2898]], 20976832000=>[[1200, 2680], [1356, 2644], [2040, 2320]], 44820131328=>[[1336, 3488], [1824, 3384], [2040, 3312]], 86669031176=>[[1476, 4370], [1976, 4290], [2652, 4082]], 40970375000=>[[1500, 3350], [1695, 3305], [2550, 2900]], 63816163551=>[[1503, 3924], [2052, 3807], [2295, 3726]], 62190076347=>[[1588, 3875], [2046, 3771], [2124, 3747]], 87539319000=>[[1670, 4360], [2280, 4230], [2550, 4140]], 70796808000=>[[1800, 4020], [2034, 3966], [3060, 3480]], 116514833589=>[[1837, 4796], [2508, 4653], [2805, 4554]], 112422709000=>[[2100, 4690], [2373, 4627], [3570, 4060]]}
[1493580092, 2510949380, 7071213244, 51114333631]
{}
true
true
true
true
true
true

残念ながら、(証明は見当たらなかったが)すでに知られている結果のようだ。
以下のページにおいて、VALさんが14.07.2008, 23:39に投稿している。
(http://dxdy.ru/topic3687-38.html)

0 件のコメント:

コメントを投稿

注: コメントを投稿できるのは、このブログのメンバーだけです。