这是宇宙终极数字“42”被破解!
在道格拉斯·亚当斯(Douglas Adams)撰写的《银河系漫游指南》中,虚构了一个生命、宇宙和一切终极问题的答案——42。一种拥有超级智慧的跨维度生物为了能找到解决宇宙终极问题最简单的答案,制造一台名字为“深思”的超级计算机,用了750万年的时间来处理这个问题,结果发现42是一个神秘的无解数值。后来这本书被拍成电影于2005年上映。
这个数字是怎么来的呢?
首先我们看一个问题,解方程:x^3 + y^3 + z^3 = k。
这个问题看似简单,但它是一个在数论领域长期存在的难题,它至少可追溯至 1825 年。
它是丢番图方程的一个例子,约1800年前古希腊的大数学家丢番图提出有一个或者几个变量的整系数方程,它们的求解仅仅在整数范围内进行。
说到丢番图,不得不说他的墓志铭 ,他把他的一生用一道代数题刻在了墓碑上,曾连续多年出现在各地中小学生的寒假作业上。
”坟中安葬着丢番图,多么令人惊讶,它忠实地记录了所经历的道路。
上帝给予的童年占六分之一,
又过了十二分之一,两颊长胡,
再过七分之一,点燃起结婚的蜡烛。
五年之后天赐贵子,
可怜迟来的宁馨儿,享年仅及其父之半,便进入冰冷的墓。
悲伤只有用数论的研究去弥补,又过了四年,他也走完了人生的旅途。
终于告别数学,离开了人世。“
自上世纪80年代以来,数学家们一直在努力尝试k数值,并寻找适合的x、y、z数值,解开这个方程式。但是他们发现一些数字永远不会奏效,例如:k数值除以9余数为4或者5的数都不会有丢番图方程解,这是由于立方数模 9 同余 0、1 或 - 1,三立方数和模 9 不可能同余 4 或 5,因而这是整数解存在的一个必要条件。这排除了100之内的22个数,但其它78个数应当有相应的方程解,却有两个数一直困扰着科学家:33和42。
随着计算机技术的飞速发展,,运算能力越来越强大,使得一些不可能也变为了可能。
2019年2月,布里斯托大学数学教授安德鲁·布克(Andrew Booker)创建了一个算法,来寻找x^3 + y^3 + z^3 = k的解,该算法运行时涉及到10^16次数值,在算法运行几周后获得了33的答案:(8,866,128,975,287,528)^3 + (–8,778,405,442,862,239)^3 + (–2,736,111,468,807,040)^3 = 33。
2019年9月,来自麻省理工学院研究人员Andrew Sutherland和英国布里斯托尔大学的Andrew Booker合作进行了一项超长时间计算,他们使用了超100万小时的慈善引擎计算后,终于破解了42,(-80538738812075974)^3+80435758145817515^3+12602123297335631^3=42。
公益慈善机构的引擎是一个全球范围的超级计算机平台,利用了50多万台家用电脑闲置、未使用的计算能力,创建了一个众包、超级环保的平台,它完全由原本被浪费的产能打造而成。
于是下面这句话成为定理:
除了9n±4型自然数外,所有100以内的自然数都能写成三个整数的立方和。
这些计算有沈现实意义呢?丢番图方程被用于在各种算法的计算过程中,算出几个未知数组合成一个已知的值,比如椭圆曲线加密算法,在密码学中的应用可以加密保护比特币。有些数学问题看没意义, 但是随着科技发展,不定哪天就用到了,我们现在用的有意义的东西可能就是几百年前没意义的东西。
更新一下,我还在琢磨算法,有兴趣的同学可以从维基百科三立方数之和开始看起。
这是33的算法:https://people.maths.bris.ac.uk/~maarb/papers/cubesv1.pdf
看到好多同学对暴力法感兴趣,要不试试看?
33的结果告诉我们在 的范围内找不到42的解,那么我们枚举的范围最起码要在 的数量级上找,而且从已知的结果来看刚好在这个范围内。
x^3 + y^3 + z^3 = 42,等价于 z^3 =42-x^3 - y^3。
这样我们只需枚举 x 和 y,然后判断42-x^3 - y^3是不是完全立方数,可以少枚举一个数,降低运算次数。
难么我们的枚举范围就是[-10^17, 10^17] ,总共要枚举10^34次,每次枚举需要做的运算有五次:两次立方、两次减法、一次开立方根。
那么总共需要做5×10^34次运算。
这时候就需要用到我们的国之重器——神威·太湖之光,它的持续性能为9.3亿亿次/秒。
一年365天,一天24×60×60=86400秒。
需用时(5×10^34)/(9.3×10^16)秒。
即(5×10^34)/(9.3×10^16)/86400/365=1.7048×10^10年=170.48亿年。
地球多少岁来着?45.5亿年。
附上100以内三立方和的非零解(多种解法选取其中一个)
1 = (-1)³ + 1³ + 1³
2 = 7³ + (-5)³ + (-6)³
3 = 1³ + 1³ + 1³
4不可能
5不可能
6 = (-1)³ + (-1)³ + 2³
7 = 104³ + 32³ + (-105)³
8 = (-1)³ + 1³ + 2³
9 = 217³ + (-52)³ + (-216)³
10 = 1³ + 1³ + 2³
11 = (-2)³ + (-2)³ + 3³
12 = 7³ + 10³ + (-11)³
13不可能
14不可能
15 = (-1)³ + 2³ + 2³
16 = (-511)³ + (-1609)³ + 1626³
17 = 1³ + 2³ + 2³
18 = (-1)³ + (-2)³ + 3³
19 = 19³ + (-14)³ + (-16)³
20 = 1³ + (-2)³ + 3³
21 = (-11)³ + (-14)³ + 16³
22不可能
23不可能
24 = (-2901096694)³ + (-15550555555)³ + 15584139827³
25 = (-1)³ + (-1)³ + 3³
26 = 297³ + 161³ + (-312)³
27 = (-1)³ + 1³ + 3³
28 = 14³ + 13³ + (-17)³
29 = 1³ + 1³ + 3³
30 = (-283059965)³ + (-2218888517)³ + 2220422932³
31不可能
32不可能
33 = 8866128975287528³ + (-8778405442862239)³ + (-2736111468807040)³
34 = (-1)³ + 2³ + 3³
35 = 14³ + (-8)³ + (-13)³
36 = 1³ + 2³ + 3³
37 = 50³ + 37³ + (-56)³
38 = 1³ + (-3)³ + 4³
39 = 117367³ + 134476³ + (-159380)³
40不可能
41不可能
42 = (-80538738812075974)³ + 80435758145817515³ + 12602123297335631³
43 = 2³ + 2³ + 3³
44 = (-5)³ + (-7)³ + 8³
45 = 2³ + (-3)³ + 4³
46 = (-2)³ + 3³ + 3³
47 = 6³ + 7³ + (-8)³
48 = (-23)³ + (-26)³ + 31³
49不可能
50不可能
51 = 602³ + 659³ + (-796)³
52 = 23961292454³ + 60702901317³ + (-61922712865)³
53 = (-1)³ + 3³ + 3³
54 = (-7)³ + (-11)³ + 12³
55 = 1³ + 3³ + 3³
56 = (-11)³ + (-21)³ + 22³
57 = 1³ + (-2)³ + 4³
58不可能
59不可能
60 = (-1)³ + (-4)³ + 5³
61 = 845³ + 668³ + (-966)³
62 = 3³ + 3³ + 2³
63 = 7³ + (-4)³ + (-6)³
64 = (-1)³ + 1³ + 4³
65 = 91³ + 85³ + (-111)³
66 = 1³ + 1³ + 4³
67不可能
68不可能
69 = 2³ + (-4)³ + 5³
70 = 11³ + 20³ + (-21)³
71 = (-1)³ + 2³ + 4³
72 = 7³ + 9³ + (-10)³
73 = 1³ + 2³ + 4³
74 = (-284650292555885)³ + (66229832190556)³ + (283450105697727)³
75 = 4381159³ + 435203083³ + (-435203231)³
76不可能
77不可能
78 = 26³ + 53³ + (-55)³
79 = (-19)³ + (-33)³ + 35³
80 = 69241³ + 103532³ + (-112969)³
81 = 10³ + 17³ + (-18)³
82 = (-11)³ + (-11)³ + 14³
83 = (-2)³ + 3³ + 4³
84 = (-8241191)³ + (-41531726)³ + 41639611³
85不可能
86不可能
87 = (-1972)³ + (-4126)³ + 4271³
88 = 3³ + (-4)³ + 5³
89 = 6³ + 6³ + (-7)³
90 = (-1)³ + 3³ + 4³
91 = 364³ + 192³ + (-381)³
92 = 1³ + 3³ + 4³
93 = (-5)³ + (-5)³ + 7³
94不可能
95不可能
96 = 10853³ + 13139³ + (-15250)³
97 = (-1)³ + (-3)³ + 5³
98 = 14³ + 9³ + (-15)³
99 = 2³ + 3³ + 4³
100 = 7³ + (-3)³ + (-6)³