在杨成的软磨硬泡,威逼利诱之下,“皮卡丘系统”终于作出决定,把杨成送到有海景的地方去看海。
古希腊亚历山大港,地中海气候给这里带来了丰沛的降水,这里尤其以盛产数学家和哲学家闻名,其中最富盛名的数学家自然包括丢番图。
海港边一座并不起眼的小茅屋,晚上睡在这里能听到海浪轻轻拍打礁石的声音,这里居住着年迈的丢番图和他的弟子。
“老师请用”,杨成用一个小碗装满煮沸的清水,递给一位老者。
老者年过八旬,唯一的儿子先他而去,所有的寄托就在这个弟子身上了。
丢番图喝了一小口清水,看着眼前这个弟子,眼中充满了慈爱。
“徒弟,为师今天要考考你,所学如何?”
“老师尽管吩咐”,杨成毕恭毕敬地侍立在一旁。
丢番图拿起一块松软的石膏,在墙壁上颤巍巍地一笔一划,写出一个方程式。
“已知x?-4y?=n,n为已知,则x,y作何解?”
杨成看到这方程的第一眼,就明白老师的意思了,他这是在考自己如何求出正整数解来。
毕竟这个时代,还停留在正有理数求解阶段。
“你不要急着做,先慢慢想一下,老师先出去走走”,说完,丢番图拄着木杖,缓缓地出了门。
这是一个著名的丢番图方程,或者说是不定方程。
当杨成看到这个方程的左边x?-4y?,他就有种感觉,它可以转化为(x-2y)*(x+2y),而且这必然是第一步。因为等式右边的常量N,它有可能是一个很大的数,如果用穷举法,效率是很低的。但可以尝试分解这个常量,把它因式分解成两项。
比方说,N=24,分解成两项有如下的可能:
[1,24],[2,12],[3,8],[4,6]
拿这些可能的项往式子上套,便可得四个方程组:
x-2y=1
x+2y=24
--------------
x-2y=2
x+2y=12
--------------
x-2y=3
x+2y=8
--------------
x-2y=4
x+2y=6
这样就转化成了求四个二元一次方程。
最后,再选取其中的正整数解即可。
杨成调出系统编辑器,把这个求解过程写成了一个通用的函数,无论N是什么,都可以通过这个函数来求解。
墙壁上,丢番图所写的那个方程式慢慢地被金色的线条所环绕。
“叮!”,系统声音响起来。
“恭喜您完成了丢番图方程求解任务!”
“先前积分24分”。
“因式分解求丢番图方程奖励2分”。
“当前积分26分,击败了全球16%的玩家,请您再接再厉!”
“成哥好棒喔!”,“皮卡丘系统”谄媚地说着肉麻的话,浑然不顾自己GM的身份。
“少拍哥哥马屁了”,杨成白了系统一眼。
“真想帮哥哥做点实事的话”,杨成话锋一转,面露狡黠之色。
“给我安排个希腊妹子晚上过来耍耍啊!”
“呃~”,皮卡丘一时语塞。
“成哥,要不要继续来玩玩啊?”,这人工智能系统犹如皮条客般怂恿着杨成。