95%的人解不出的题,最终的解却令人震惊Jacky2020

这是一道网上流传的题目,解这道题给了我2个感悟:

第一,看上去简单的事情,往往十分复杂,其复杂程度甚至远远超过了你的想象;

第二,你绝望的时候,不代表没有希望。

希望,往往就在远方,

虽然可能很远,很远。

第一次看到这个题目的时候,我以为是一个小学生题目,甚至以为是幼儿园的智力题。然而当试图算出答案的时候,发现问题不简单。试验了一个又一个数字,得出的结论是这道题大概率没有正整数解。当然这是猜的。最终在网上找到了答案,却惊奇地发现,其中涉及到的数学知识令人发指,这哪里是小学生的题目,用AlonAmit的原话说:

大概99.99995%的人解不开这道题,甚至一大帮顶尖学府里的数学家,如果他正好不是数论专家的话,他们也不会做。

Roughly99.999995%ofthepeopledon’tstandachanceatsolvingit,andthatincludesagoodnumberofmathematiciansatleadinguniversitieswhojustdon’thappentobenumbertheorists.

不过如果你感一点兴趣,虽然它很难,但我相信你能看得懂。

二、几个初步结论

书归正传,开始解题。

首先,为了方便,我们把原题描述为下面的形式:

要求的是a、b、c这3个变量的正整数解(因为苹果凤梨香蕉的个数总不至于为负数嘛,这也符合一般表述的常识)。

注意,从这个式子中我们可以得出几个初步结论:

初步结论一:只要有一个解,就有无穷多个解。

为什么呢?我们在第一个分式的分子和分母同时乘上一个正整数t,可以发现:

那么也就是说,只要(a,b,c)是原来方程的解,那么(7a,7b,7c)也必然是这个方程的解(这是t=7的情况,t还可以等于其他正整数)。这样也就等于有了无穷多个解。

初步结论二:如果有解,(a,b,c)三个未知数的解是对称的。

也就是说调换a、b、c的位置,不影响结果。

这个是显而易见的,如果我们得到一个解(a,b,c),那么(b,a,c)也一定是它的解,(c,b,a)也一定是它的解。

初步结论三:3个变量中不能有0。

这个我们来证明一下。假设某一个变量是0,不妨是a吧(因为是对称的嘛,谁是0都一样)。那么原式(1)就变成:

这里显然b和c不能再有0了,否则等式没有意义了。

这个方程等同于

这是初中的一元二次方程题目,解出来

很明显,这是无理数,而两个整数b和c相除等于一个有理数,并不是无理数。

所以假设不成立,也就是说a、b、c中任何一个数字都不能为0。

初步结论四:求解(a,b,c)的正整数解,实际是求这三个未知数的正有理数解。

这是因为:有理数都可以表现为分数的形式,如果我们得到a、b、c的正有理数的解,那么我们同时把这3个数字乘以它们的公分母,那么我们就得到了3个整数。根据前面的初步结论一,我们很容易知道,这3个整数就是原方程(1)的解。

好了,研究完一些初步结论,我们来开始解剖原题。如果我们在原方程(1)的两边同时乘以他们的公分母(b+c)(a+b)(a+c),然后再移项、合并同类项,虽然有点繁琐,但我们可以得到下面这个方程:

这是与原方程(1)等价的,我们求它的解就可以了。

根据前面的结论四,我们只需要求出他们的有理数解。

麻烦来了,这个方程看起来很复杂,而且几乎无从下手啊。

解高次方程有多难呢?

如果再高次方,那真是。。。太难了。有兴趣的话去看看费马大定理吧(对,就是那个困扰了人类350多年的超级大难题)。

本题,就是一个三次方的方程。

而且,并不是简单地求解,而是要求出有理数解。

有理数解,是什么意思?怎么个求法?

三、不定方程的基本知识——什么叫特解与通解

求一个方程的有理数解或者整数解,往往是数论方面的题目。而要解出本题,还要用到椭圆曲线。

我们先了解一些简单的数论知识。

打个比方说,我想求出下面这个方程的解:

你肯定会说,这有无穷多组解啊,x也好,y也好,可能是任何数字。

没错。但如果是求整数解呢?似乎也是有无穷多组解。但是,你有没有什么办法把所有的解都描述出来呢?

有的。首先我们可以很容易看出(x=2,y=4)是它的一组解,这个呢,叫做“特解”。当然,特解有很多个。

然后我们利用这个“特解”,我们设计一个式子:

我们可以很容易地验证,首先上面这个解是满足方程(3)的,另外我们还可以发现,上面的这个式子也包括了方程(3)的所有整数解,所以这个解就叫做“通解”。

这就是一次不定方程,又叫丢番图方程(DiophantineEquation)。

我们不需要太深入了解数论的知识,只要知道“特解”、“通解”的概念就可以了,并且求取这样方程的“通解”,常常就是从一个“特解”入手的。

刚才解的是一次的丢番图方程,然而我们现在面对的方程(2),是3次的。

四、神奇的“降维”操作——3元变2元,曲面变曲线

不得不说,后面的变化,确实有点复杂,也很有些难度。但总的来说,如果暂时不考虑其“所以然”的话,“知其然”还是大致可以做到的。

在现代数学,有一个分支,叫”代数几何学“(algebraicgeometry),注意这个不是中学学习的代数和几何,而是研究的代数和几何之间相互关联对应问题的学科。

其中,就有一个重要的理论,是发现了代数问题在几何上的对应性,从而可以用”几何“的方法来解决”代数“的问题。说得直白一点,就是我们遇到一个无法下手的代数方程的时候,我们或许可以用”几何“的方式来解决。

今天,我们正好碰到的就是这个问题。我们再看一眼方程(2):

这是一个有着3个变量的方程。它是3维的,对应的是一个曲面;

现在有一个好消息,就是我们可以通过某一种变换,将其变为一个只有x和y两个变量的方程,一种叫做维尔斯特拉斯典范型(Weierstrassform)的方程,像下面这种形式的:

并且我们可以描述出(a,b,c)和(x,y)之间的关系。

那么方程(2)就转化成了:

而方程(2)中的未知数a,b,c则分别为:

这样的好处呢,是把有a、b、c3个变量的方程,转化成了x、y两个变量的方程。(用专业术语说,其实是把一个三维平面“映射”到了一条二维曲线上)

还有一个重大的好处,就是方程(4)是一个椭圆曲线的方程。

现在的问题转化为:我们只需要解方程(4)的有理数解,然后就可以根据上述公式对应地计算出a、b、c。

你看到这里可能觉得像是在变戏法,但其实真不是。推导的过程非常复杂,这里就暂时不写出来了。好在我们验证它对不对还是比较方便的。

运用一些技巧,我们可以发现(x=-100,y=260)是方程(4)的一个“特解”。虽然这个过程也有点复杂,但好歹我们验证它还是容易的。我们把这两个数代入方程(4),首先发现它是成立的;再代入到上述等式(5),可以求出

不过这个里面有个负数,肯定是不行的。

那么我们有没有办法通过这样一个“特解”,来找到更多的“特解”呢?如果我们找到更多的特解,会不会最终就能够让a、b、c变为正数呢?

我们试一下吧。

五、双有理等价——通过2个有理数解寻找3次方程的第3个有理数解

我们先来看一下3次方程,如果一个有理数系数的3次方程,我们知道其中的2个有理数解,我们有没有办法找出它的第3个有理数解?

等号左边的多项式对应的系数是(1-611-6),(x-1)对应的系数是(1,-1)

通过上面的操作我们可以看出,所有的操作都是加减乘除的操作,在系数和已知的两个根都是有理数的情况下,在没有无理数参与、也没有开根号、取对数等操作的前提下,这第三个根必然也是有理数。

回到我们的原题。

没错,你一定发现了,我们现在并没有2个根,我们只有一个根(x=-100,y=260),那怎么办呢?我们可以把它当作是2个根(也就是“重根”,在几何上可以理解为两个点无限接近),然后通过它来找出第三个根。再通过其中两个根,再找出不同的其他根,如此往复。

要理解这个事情,我们得回到图形上来,也就是几何方法。

六、目标函数——椭圆曲线

我们先将它画出来,看看是什么样子。由于左边是y2,这个图显然是关于x轴对称的。画出来的图形近看这样的,就像一条小鱼:

不过注意了,这条“鱼”的身体跟尾巴有一点点分离,因为在原点的左边有一小块区域y2为负值,在实数范围内没有意义,所以也就没有y值。

当然这是近看,如果我们拉远一点,发现它更像一个”绳结“:

再远看,其实这个曲线整体是两根“辫子”:

当然这两根“辫子”是伸向了无穷远。

七、双有理等价的几何表示

那么我们前面所提到的双有理等价(就是通过2个有理点,寻找第三个有理点),在图形上面是什么意思呢?

我们来看下图:假设P1、P2是曲线上的两个有理点(即横竖坐标都是有理数),我们通过这两点做连线,那么有两种情况,一种是跟这个椭圆曲线相交到了第三点(如图P3),另一种是比如正好跟y轴平行,因而无论如何也不会跟曲线有第三个交点。后一种情况属于特殊情况,我们只需要适当规避。我们考虑前一种情况,这时注意了:

既然x1、x2都是有理数,这个方程的系数也都是有理数,根据前面第五块双有理等价的结论,可以断定x3也是有理数,从而y3也是有理数,从而P3也是有理点。

巧妙的是,由于曲线关于x轴的对称性,P3关于x轴的镜像点,必然也是有理点(因为仅仅是y坐标乘以-1)。而在代数几何领域,这个点被称为“P1+P2”。我们首先不用纠结于加法的重新定义。我们只需要知道这个新的有理点意义非凡,因为用这个“P1+P2"点,我们与P1连线的话(图中黄线),我们又得到了一个有理点A!也就是说,我们又找到了一个(x,y)的有理数解,也就是又找到了(a,b,c)的整数解。虽然(a,b,c)中仍然有可能有负数,但只要我们不停地迭代下去,就可能可以找到全部为正数的解!

回到我们的题上来。现在我们只有一个有理点(-100,260),我们将其想象为P1与P2无限接近,产生了“重根”,那么由P1、P2所确定的直线将会是椭圆曲线在该点处的切线,而其切线的斜率将是该处的导数(此处对中学的小朋友可能略微有一些超纲)。我们推导一下这个导数的计算过程:

合并同类项,得到这样一个关于x的三次方程:

,如下图。

我们将得到的x和y值代入上述式(5),计算出a、b、c的值,并乘以它们的公分母,得到的整数值分别为:

a=9499b=-8784c=5165

不过,还是有负数!工作还得继续。

下面要做的,是把点P和2P连线,再去寻找3P的有理点,再算出a、b、c,再去检查是否全部正整数。

不过你一定发现,式子越来越复杂,靠手算已经行不通了。

八、寻找终极答案——计算的事情交给PYTHON

用计算机来计算,还是比较方便的。下面是迭代计算的python代码。

循环数k=2a=9499b=-8784c=5165验算结果:4

循环数k=3a=679733219b=-375326521c=883659076验算结果:4

循环数k=4a=6696085890501216b=-6531563383962071c=6334630576523495验算结果:4

循环数k=5a=5824662475191962424632819b=-2798662276711559924688956c=5048384306267455380784631验算结果:4

循环数k=6a=287663048897224554337446918344405429b=-399866258624438737232493646244383709c=434021404091091140782000234591618320验算结果:4

循环数k=7a=3386928246329327259763849184510185031406211324804b=-678266970930133923578916161648350398206354101381c=1637627722378544613543242758851617912968156867151验算结果:4

循环数k=8a=343258303254635343211175484588572430575289938927656972201563791b=-2054217703980198940765993621567260834791816664149006217306067776c=2110760649231325855047088974560468667532616164397520142622104465验算结果:4

循环数k=9a=154476802108746166441951315019919837485664

325669565431700026634898253202035277999

b=368751317941299998271978115652254748254929

79968971970996283137471637224634055579c=437361267792869725786125260237139015281653

7558161613618621437993378423467772036验算结果:4

当算到9P的时候,所有的a、b、c的结果为正。

至此,我们得到了最终的结果。

不过,a值已经高达80位数(b值79位,c值78位)。80位数是什么概念呢,就是每8位是1亿,要连续说出9个“亿”字才能表达,亿亿亿亿亿亿亿亿亿。

这个数字大到什么程度呢,就是假如我跟你的距离是1米,那么这个数字所代表的距离在1053个宇宙之外(一个宇宙的直径据估算是930亿光年)。注意,是10的53次方个。

如果不是用数学方法,即使是世界上最快的计算机,也完全不可能用暴力的方法(就是一个数字一个数字地尝试)得到最终的解。

九、进一步的探索

上面所用的方法就叫“弦切法”,好比你绷了一条弦,不停地在曲线上找第三个交点(有理点)。我们从上面的程序结果可以看出,随着过程的推进,a、b、c的数值快速增长,而这个80位数的结果,确实也是最小的结果。

此外,想要3者全部为正也并不是容易的事,这当然是跟x、y的取值有关系的。事实上,只有下图的绿色部分才是a、b、c可以取到正值的位置。看样子,我们能在第8次迭代(9P)的时候进入这个区域还算运气不错了。

你可能会觉得,80位数的结果令人发指。但如果我们把原方程的4替换为178,我们的结果将是几亿位(这意味者屏幕远远不能满足显示需求);而如果把4替换为896,那么结果将是万亿位的。

我们上面用到的计算椭圆曲线kP的算法,在现代密码学方面有着极其重要的应用(也就是正向的计算很容易,反向的计算非常困难)。椭圆曲线加密算法称为三大加密算法之一,著名的、稳定运行十余年的比特币就是采用的椭圆曲线加密算法。

十、说明及感悟

最后,我想读者中可能还是有不少存疑,即:

1、为什么我们可以在第四部分做那样的变换,把a、b、c的方程变换成了x、y的椭圆曲线?

2、到底通过什么方式找到(-100,260)这个椭圆曲线的特解?

3、为什么我们最终这个80位的解就是最小解?

这些都是本文没有解决的问题。因为这些都是很庞大的问题,本人争取以后能给出容易理解的答案。

但幸好,就本题而言,首先我们找到了解(这是根本性的),其次我们确实了解了整个求解过程,并对其内在逻辑有了全面的认识。

最后的感悟:

解这个题目,有一种以为到楼下打个酱油,结果却到大海上绕了一圈的感觉,差一点找不到回来的路。

然而数学之美,正在于她以极其精确的方式,告诉了你正确的方向。

最后,恭喜你,你看完了。

本人才疏学浅,解题中可能有不少不够严谨的地方,欢迎指正。

THE END
1....就得到中等的,定中等的目标就得到差的,有个成语(谚语)这叫什么...定高的目标就得到中等的,定中等的目标就得到差的,有个成语(谚语)这叫什么 扫码下载作业帮搜索答疑一搜即得 答案解析 查看更多优质解析 解答一 举报 取法于上,仅得其中;取法于中,故为其下.或是取法其上,得乎其中;取法其中,得乎其下;取法其下,法不得也. 解析看不懂?免费查看同类题视频解析查看解答 ...https://www.zybang.com/question/8de3fcc64ab10640ebc408325cb82a42.html
2.三维目标过去式?新的目标怎么定?我们来学学!杜主任的这堂课,这是给我们详细的解释了目标的制定,以及制定目标的意义是什么,为什么这么来定!收获满满!感谢!https://www.meipian.cn/34fp699j
3.5个步骤,教你制定2021年战略规划企业战略战略目标已定,如何实现我们的战略目标呢? 高维君说: OGSM方法由德鲁克提出的目标管理理念演变产生,一页纸就能全部呈现公司的最高愿景,一直到业务规划的执行动作,一目了然,大大提高团队内部的沟通效率。如今宝洁、可口可乐等500强企业都将其作为战略规划的主要工具。 https://www.ceconline.com/strategy/ma/8800107833/01/
1.第七届“绿色杯”环保知识竞赛题库答:是指在某一区域(流域)范围内,为了达到预定环境目标,通过一定的方式,核定主要污染物的环境最大允许负荷(环境容量),并以此进行合理分配,最终确定区域范围内各污染源允许的污染物排放量。 54、什么叫生态修复? 答:生态修复是指根据生态学原理,通过人工实施,调整受损或退化生态系统的结构和功能,使生态系统的结构更加...https://zhxy.ynau.edu.cn/info/1047/1572.htm
2.大班语言教案小青蛙反思(通用15篇)活动目标: 一、唱歌曲《小青蛙回家》,根据不同的故事情景,通过不同的声音、节奏、表情、动作来表现同不情绪的情感。 二、能根据歌曲的旋律及结构特点胆地创遍歌词。 三、体会创编的愉快和用心交往的快乐。 活动准备: 青蛙纸偶一个,图谱一张,电子琴。 https://www.cnfla.com/jiaoan/2568265.html
3.小班游戏教案《木头人》(通用23篇)活动目标: 1.正确发出“山(shn)、上(shàng)、三(sn )等字音,区别s和sh,an和ang 等音。 2.在游戏活动中,锻炼自我控制与灵活应变能力。 3.使小朋友们感到快乐、好玩,在不知不觉中应经学习了知识。 4.在活动中,让幼儿体验与同伴共游戏的快乐,乐意与同伴一起游戏。 https://www.jy135.com/jiaoan/825515.html
4.吉格勒定理:要敢定高目标!1、什么是吉格勒定理 吉格勒定理:设定高目标等于达到了目标的一部分 提出者:美国行为学家 J·吉格勒 不少人认为天才或成功是先天注定的。但是,世上被称为天才的人,肯定比实际上成就天才事业的人要多得多。 为什么?许多人一事无成,就是因为他们缺少雄心勃勃、排除万难、迈向成功的动力,不敢为自己制定一个高远的...https://news.mbalib.com/story/244611
5.年中复盘,目标落地打胜仗三部曲在阿里,高层在定目标的时候,经常说要”看10年,定3年,干1年“。从10年的维度看,目标其实对应的是企业的使命和愿景。 如果是3年的维度,则对应的是企业要实现的阶段战略是什么。 如果从1年维度看,对应的就是企业的年度目标,半年目标,季度目标,月目标、周目标甚至每日目标是什么。 https://36kr.com/p/2337656441572613
6.产品与研发体系的五看三定模型51CTO博客第一就是定控制点,控制点就是设计一个业务的时候一定要强调未来3-5年是产生利润的,同时要防止被抄袭。 第二个就是定目标,所有战略落地最终的方向都是为了完成目标,但是目标要分解到组织(越小的组织越好),目标要分解到产品,目标要分解到行业,目标要分解到客户。 https://blog.51cto.com/cglt1024/3715244
7.华为战略管理工具之“五看三定”:如何抓住战略机会点?资讯“五看”主要包括看行业、看市场、看客户、看竞争、看自己,然后输出战略机会点;“三定”即是定战略控制点、定目标和定策略。 先有“五看”,再有“三定”,今天主要分享如何通过“五看”来进行战略洞察。 1 看行业 1、价值转移趋势分析 看行业,主要看行业变化和趋势,行业趋势里面什么更有价值?钱的流动。也叫价...https://ecoapp.qianzhan.com/detials/210819-57723eca.html
8.小学二年级语文知识点归纳二、确定区域定目标,圈点勾画细推敲 阅读大段文章主要用精读的方法,需逐字逐句推敲揣摩,故平时练习要养成圈点勾画、多做记号的习惯,可以先看题目涉及到文中哪些段落或区域,和哪些语句有关。确定某一答题区域后,再仔细弄懂这一段每一句的意思,进而理清段落之间的关系,了解行文思路。有了这一习惯就有可能形成较强分析...https://www.oh100.com/yuwen/1705691_2.html
9.目标的重要性作文(锦集28篇)3) 获得幸福的惟一途径,就是忘掉目前的幸福,以除此之外的目的作为人生目标。 4) 家居的快乐,是所有志向的最终目标;是所有事业的劳苦的终点。 5) 最好不要在夕阳西下的时候去幻想什么,而要在旭日初升的时候即投入工作。 6) 管理职能包括明确地说明目标及获得实现所定目标必需的资源和努力。 7) 我始终相信“...https://www.gerenjianli.cn/zuowen/daquan/10098101.html
10.目标的定位作文800字(通用38篇)无论是身处学校还是步入社会,大家都写过作文,肯定对各类作文都很熟悉吧,作文一定要做到主题集中,围绕同一主题作深入阐述,切忌东拉西扯,主题涣散甚至无主题。写起作文来就毫无头绪?以下是小编帮大家整理的目标的定位作文800字,欢迎阅读,希望大家能够喜欢。 目标https://mip.ruiwen.com/zuowen/mubiao/271755.html
11.制定学习计划(精选16篇)2、我们要定的中,长期计划 短期:力争每个月改变一门功课的状态。比如把一门功课从成绩靠后变成成绩中等,要想把一科功课学精,一个月是很难,但是提高到一定程度,还是有可能的。这样,考生看见结果,也会有信心。 长期:考生明确自己未来最终想考入目标院校是什么?可以把这个学校的过去几年的录取分数拿来。比如,考生...https://www.yjbys.com/xuexi/jihua/3610427.html
12.典型的摩托车修理工是这样炼成的,看看与你经历是否相似!我一般把常用的某个配件都进2~3个品牌的货物,这样一来让用户自己选择,用户选择的时候简单说说配件的价格高低与寿命有着什么样的关系,但切记影响机车安全性的东西和发动机寿命的东西一定要注意不要搞太低档的货,如刹车皮和机油、火花塞。 3、瞄定目标 有了枪和子弹我们不一定非要要打“野猪”,也可以适当打打“...https://www.yoojia.com/article/10408275362731569366.html