鉴于人类研究数字已有数千年的历史,你可能会认为我们对数字3了如指掌。但是数学家们最近发现了关于3的新东西:把它表示成三个立方数的和。把一个数字表示为三个完美立方数的和是一个非常有趣的问题。很容易证明,大多数数字不能写成一个立方数或两个立方数的和,但据推测,大多数数字实际上可以写成三个立方数的和。然而,要完成这一任务这可能是一个相当大的挑战。

三个数的立方和与立方差公式(为什么把一个正整数写成三个立方数之和是一个很难的数学问题)(1)

例如,我们知道3可以写成1³ 1³ 1³,也可以写成4³ 4³ (−5)³,但60多年来数学家们一直在想是否还有其他方法。去年9月,安德鲁·布克和安德鲁·萨瑟兰终于找到了第三个解决方案:

3 = 569,936,821,221,962,380,720³ (−569,936,821,113,563,493,509)³ (−472,715,493,453,327,032)³

(如果你想检查一下,不用费心拿计算器:大多数人都记不住这么多数字。但是WolframAlpha可以处理它。)

为了找到3的新解,数学家们使用了今年早些时候开发的技术,布克发现了第一个数字33的三个立方数和。但为什么这些突破花了这么长时间呢?在寻找正确立方数的过程中,我们需要涉及很多区域,而很少有线索能指引我们去想去的地方。因此,诀窍在于找到更聪明的搜索方法。为了了解挑战和解决方案,让我们从一个更简单的问题开始:我们如何把33写成三个整数的和?

我们可以写成33 = 19 6 8,或者33 = 11 11 11,或者33 = 31 1 1。我们也可以用负数,所以我们可以写成33 = 35 (−1) (−1)我们可以有无数种方法来做到这一点,因为我们总可以增加一两个数,减少另一个数来补偿,所以33 = 36 (-1) (-2),33 = 100 41 (-108),依此类推。

把33写成三个平方和怎么样?我们需要找到三个“完全平方数”——1 = 1^2,9 = 3^2,64 = 8^2——加起来等于33。经过计算,你可能会发现33 = 4^2 4^2 1^2和33 = 5^2 2^2 2^2。还有吗?你可以把4换成-4,仍然得到33 =(-4)^2 42 12,这给了我们几种不同的写法,但是不管你怎么数,只有这几种写法可以把33写成3个平方和。

这是因为当求平方和时,我们没有和整数求和时一样的灵活性。我们有更少的选择,更重要的是,相加只会增加总和。这是因为完全平方从来都不是负的:对一个正整数或负整数进行平方总是得到一个正整数。

平方的限制更多,但这些限制带来了一些好处:我们的搜索空间是“有界的”。"在求三个和为33的平方和的过程中,我们不能用任何平方和大于33的数,因为一旦平方和超过33,就没办法减了。这意味着我们只需要考虑0²,1²,2²,3²,4²和5²的组合(我们将忽略它们的负的对应项,它们并没有添加任何新的东西)。

现在让我们把注意力回到33的立方和问题上。不难看出,它结合了平方和问题的有限选择和整数和问题的无限搜索空间。和平方一样,并不是每个数字都可以写成立方数。我们可以用1 = 1³,8 = 2³和125 = 5³这样的数字,但我们不能用2 3 4 10 108或其他大多数数字。但与平方数不同的是,完美的立方数可以是负的-例如,(-2)³= -8,(-4)³= -64 -这意味着如果需要,我们可以减小和。负数给了我们无限的求和选项,这意味着我们的搜索空间,就像在整数和问题中一样,是无界的。

一个无界的搜索空间意味着我们可能要花很长时间才能找到答案。几十年来,人们一直在寻找。这需要一台超级计算机和一些聪明的数学才能最终找到立方数的正确组合。让我们来看看。

假设你想寻找以下问题的解决方案:

三个数的立方和与立方差公式(为什么把一个正整数写成三个立方数之和是一个很难的数学问题)(2)

一种简单的方法是绘制一个数字区域,然后逐个尝试,直到有效果。如果您没有找到任何东西,那么您将定义一个新的搜索空间并重新开始。这有点像用望远镜有条理地扫描天空寻找新的行星。

假设你的初始搜索空间是所有在−100到100之间的x, y和z。所以首先你要尝试:

三个数的立方和与立方差公式(为什么把一个正整数写成三个立方数之和是一个很难的数学问题)(3)

不行。然后你试试:

三个数的立方和与立方差公式(为什么把一个正整数写成三个立方数之和是一个很难的数学问题)(4)

这也不行。一直到(100,−100,−100),然后翻到(−100,−99,−100),继续搜寻。最后,你将检查大约200 x 200 x 200 = 8,000,000组数字,但没有找到任何有效的。你必须建立一个新的搜索空间,然后重新开始。

一个更好的方法是把方程改写成这样:

三个数的立方和与立方差公式(为什么把一个正整数写成三个立方数之和是一个很难的数学问题)(5)

现在,我们不再遍历所有的三元组(x, y, z),而是遍历对(x, y)。对于每一对,我们计算并检查一个完美立方数列表,看看我们的结果(z^3)是否在上面。如果是的话,我们已经找到了一种有效的组合。如果不是,我们就继续找。这大大减少了我们搜索空间的大小:我们现在搜索的不是8000个三元组(x, y, z),而是200 x 200 = 40000对(x, y)。这是一个很大的节省,但仍然不足以使找到一个计算可行的解决方案。

一个更好的方法是这样改写方程:

三个数的立方和与立方差公式(为什么把一个正整数写成三个立方数之和是一个很难的数学问题)(6)

现在我们搜索z。对于每个z,我们计算,然后用数学课上的一个小技巧。表达式x³ y³总是可以按以下方式因式分解:

三个数的立方和与立方差公式(为什么把一个正整数写成三个立方数之和是一个很难的数学问题)(7)

这就是所谓的立方和公式。为了验证这个,我们用分配律把右边乘起来

三个数的立方和与立方差公式(为什么把一个正整数写成三个立方数之和是一个很难的数学问题)(8)

这个公式对我们的搜索有什么帮助?一旦我们算出了33 - z³,我们就把它分解成质数,这是计算机很擅长的,至少在我们考虑的数字范围内是这样。一旦我们对33 - z³提出因式分解,我们就可以检查因式是否可以写成(x y)(x²- xy y²)如果他们能,我们已经找到解决办法了。

例如,假设我们试图找到一种方法,将数字34写成三个立方体的和,我们的搜索结果是z =−6。我们计算34 - z³= 34 -(-6)³= 34 -(-216)= 34 216 = 250,然后我们看看如何分解250。

经过一番研究,我们发现可以写成250 = 10 × 25 =(5 5)(5²- 5 × 5 5²)这正好是(x y)(x²- xy y²)对于x = 5和y = 5,所以三重函数(x, y, z) =(5,5, -6)应该适用于34。34 = 5³ 5³ (-6)³,我们成功地找到了三个立方,它们的和是34。

用这种方法,我们不需要看200³= 8,000,000个三元组或者甚至200²= 40,000对,我们只需要检查200个可能的z值。这里有一些额外的工作分解和检查,但总的来说,这在搜索效率方面是一个很大的改进。然而,搜索立方体总和(如33)的搜索空间是如此巨大,即使这些改进也无法帮助超级计算机在这个问题上取得重大进展

这就是安德鲁·布克的作用所在。布克从代数和数论中设计了一些额外的技术来进一步提高他的搜索效率。当他把大学里的超级计算机打开来解决这个问题时,三周后,它得到了有史以来第一个33由三个立方数和而组成的表达式:

三个数的立方和与立方差公式(为什么把一个正整数写成三个立方数之和是一个很难的数学问题)(9)

在布克解决了这个问题之后,在他和萨瑟兰把注意力转向数字42,

三个数的立方和与立方差公式(为什么把一个正整数写成三个立方数之和是一个很难的数学问题)(10)

也许令人惊讶的是,数千年后,我们仍然有一些关于数字的东西需要学习,比如3、33和42。也许更令人惊讶的是,高中数学中的抽象概念可以提供帮助,比如立方数和的公式。但这就是数学的运作方式,也是我们不断探索的原因

所以请关注114,它是目前三个立方数之和问题中尚未确定的最小数字。我有一种感觉,对于Andrew Booker和其他数学家来说,研究已经开始了。

,