麦当劳的大奖

“他生命的六分之一是愉快的童年,再过了生命的十二分之一,面颊上长了细细的胡须;又过了生命的七分之一他结婚了。婚后5年,他有了第一个孩子,感到很幸福,但命运给这个孩子的光辉灿烂的生命只有他父亲的一半。儿子死后,他在深切的悲痛中活了四年就告别了尘世。”——丢番图的墓志铭

布法罗大学的数学教授斯蒂芬·卡维尔(Stephen Cavior)是个风趣的老头,他曾经在课堂上讲过一个有趣的故事:

在一个美好的周日早晨,卡维尔像往常一样端起一杯新煮好的咖啡,准备开始读书。这个时候他接到了一位朋友的电话,朋友请他帮忙解决一个数学问题,这个问题已经困扰她好几天了;更令人兴奋的是,第一个找到答案的人可以获得由麦当劳设立的价值一百万美元的大奖。

这个大奖题目是这样的,请给3,48,6,21,33,18,36,12,60加上整数系数,使得它们之和为100

在卡维尔写下最后一个数字之前,他就笑了。他告诉他的朋友,不要再枉费时间,因为这个题目无解。

这是一个课堂上讲述的故事,其真实性当然不可考。我曾经的分析化学老师也是一个非常风趣幽默的人,他在课堂上讲的那些段子至今我都半信半疑;不过,这不妨碍他是我碰到的最好的老师之一,否则那些段子我也不会至今还记得。

作为题目来说,这个麦当劳“大骗局”并不难破解,注意到那一堆数字都是3的倍数,所以无论使用哪些整数系数,它们的和仍然将是一个3的倍数,而100并不是3的倍数,所以两者不可能相等。

如果我们把其中的一个数换成不是3的倍数,比如把33换成32,那么这个免费大汉堡包是不是可能从天而降呢?答案是显然存在的,而且不止一个,例如,
2×36 + 1×60 + (-1)×32 = 100,或者6×21 + 1×6 + (-1)×32 = 100。

类似的问题出现在昨天的群聊中,时间大约是晚上8点多。

麦当劳的大奖_第1张图片

先约定,砝码只能放在一侧,货物放另一侧,即砝码之间只能相加不能相减,否则此题无解(理由后面给出)。很显然,一些比较小的整数质量是无法通过砝码的组合得到的,比如2克,15克,50克等等,这道题的目标就是找到这一类整数质量中最大的一个。

用数学的语言来表述,就是对于非负整数x,y和n,求出n的最大值,使得方程13x + 17y = n无解

可以看出,砝码这个问题和麦当劳“大骗局”属于同一类问题,它们都是线性不定方程,即未知数的个数多于方程数(在这两个例子中,都只有1个方程),未知数最高幂为1(即线性)。一般来说,线性不定方程有无数多个解,但在系数和未知数都是整数的情况下,不定方程可能有确定的解,也可能无解。这一类未知数和系数都是整数的不定方程,在数学上又被称为丢番图方程(Diophantine equation)。

丢番图是罗马帝国时代的数学家,他生活在公元200-300年间,大约相当于中国的三国时期。丢番图生卒年份不详,出生地不详,“国籍”也不详,古籍中称呼他是“亚历山大港的丢番图”,是因为他成年之后住在埃及的亚历山大港,他的研究工作主要在那里完成。丢番图被认为是“代数之父”,《算术》这一套丛书被认为是他的著作。不过,就如同他的出生和血缘一样,他的著作和理论在漫长的流传过程中存在着很大的不确定性。当时的亚历山大港可以称作希腊和罗马文明的科技中心,以至于现在很多人都认为“希腊文明”根本就应该改名为“小亚细亚文明”,古典时代的这些科技书籍在公元7世纪从希腊语被翻译成阿拉伯语,后来东征的十字军将它们带到西欧,在文艺复兴时期又从阿拉伯语被翻译成西方语言,这个过程跨越千年,中间错进错出,很多作者和内容都存在遗失、错漏、附会和挂名的现象。

麦当劳的大奖_第2张图片

赫尔曼·蒂尔施(Hermann Thiersch)绘制的亚历山大灯塔假想图。作为古代七大奇迹之一,亚历山大灯塔的光芒不仅仅指引着船只前进,更散发着亚历山大作为古代文明和科技之都的荣光。

撇开这些不谈,回到丢番图方程。

我们从最简单的情况入手,考虑只有两个未知数x和y以及一个线性方程的情况,什么时候这个方程有解,什么时候没有解。以下,我们说方程有解无解,都特指有无整数解。

从麦当劳的例子我们已经看出来,当丢番图方程左端的系数中存在某个最大公因数,而方程的另一端不能被这个公因数整除时,这个方程无解。比如方程12x + 18y = 100左端系数的最大公因数为6,100不能被6整除,所以方程无解。

如果方程的另一端可以被这个公因数整除,那么我们将方程的两端分别除以这个公因数,比如12x + 18y = 90 (方程1),我们将方程两端同时除以6得到, 2x + 3y = 15 (方程2)。显然,方程2和方程1是等价的。

再进一步,如果我们把方程右端的得数改为1,即2x + 3y = 1 (方程3)。如果方程3有某个解,比如(2, -1),我们把这个解乘以15,就可以得到方程2的一个解(30, -15),这个解同样也是方程1的解。因此,我们的问题变成:当系数a和b互质时,ax + by = 1有没有解?

在数论中,这个问题被称之为裴蜀定理(Bézout's lemma),即方程 ax + by = 1有整数解当且仅当整数a和b互质

下面,我们试图证明这个定理。以方程3为例,进行一下变形:

2x + 3y = 1 (方程3)
2(x + y) + y = 1 (方程4)

注意到,变形后的方程4仍然是一个丢番图方程,只不过其未知数x + y和 y是方程3的未知数x和 y的线性组合,同时方程4的两个系数中有一个变成了1。这时,我们令系数为1的未知数等于1,另一个系数的未知数等于0,即y = 1,且x + y = 0 (方程组5),那么不论另一个系数是多少,方程4将恒等。从方程组5解得x = -1,y = 1,(-1, 1)确实是方程3的一个解——不同于前面得到的(2, -1)。

我们再看一个复杂一些的例子,6x + 35y = 1,其中6和35互质。

6x + 35y = 1
6(x + 5y) + 5y = 1
(x + 5y) + 5[y + (x + 5y)] = 1 (方程6)

方程6的两个线性组合后的未知数为x + 5y和y + (x + 5y),其系数分别为1和5。令x + 5y = 1,且y + (x + 5y) = 0,解方程组得到x = 6,y = -1,易知,(6, -1)是原方程的一个解。

这个变形过程是不是有些眼熟?如果我们只写出系数,这个变形过程就是两个整数辗转相除求公因数的过程;而我们知道,互质整数的公因数是1,所以变形的最后我们一定能得到一个未知数的系数为1,令这个线性组合后的未知数等于1,另一个线性组合后的未知数等于0,方程就能恒等。

一般来说,二元一次方程组一定有解,除非两个方程斜率相同而截距不同(二维平面上平行不相交)。在我们这个问题中,这两个斜率必定不同。如果斜率相同,假设变形后的方程为

(k·c·x + c·y) + m(k·d·x + d·y) = 1,其中第一个未知数的系数为1,第二个未知数的系数为m;c和d都为整数,两个线性组合中x,y间的斜率同为k。现在我们把括号拆开,分别合并x和y的同类项,将得到k(c + md)x + (c + md)y = 1,即原方程的两个系数都有整数因子(c + md),与两个系数互质矛盾。

综上,裴蜀定理得证。

再进一步,如果ax + by = 1有一个解(x0, y0),那么

ax0 + by0 = 1
ax0 + ab + by0 – ab = 1
a(x0 + b) + b(y0 – a) = 1

即(x0 + b, y0 – a)也是方程的一个解。同理,对于任一整数m,(x0 + mb, y0 – ma)都是方程的解(定理1)。

如果a和b互质,那么方程ax + by = 1一定有解,对于任一整数n来说,方程ax + by = n也一定有解;换句话说,我们可以使用不同的整数组合(x, y), 使得ax + by的值覆盖整个整数集合。

最后,让我们来看看砝码问题。因为13和17互质,对于任一整数n来说,方程13x + 17y = n都有整数解。所以,我们需要限定砝码只能放在天平的同一侧,即只考虑13x + 17y = n的非负整数解。

我们先找到13x + 17y = 1的一个可行的整数解(可正可负)。通过上述的辗转相除法变形,

13x + 17y = 1
13(x + y) + 4y = 1
(x + y) + 4[y + 3(x + y)] =1

令x + y = 1,且y + 3(x + y) = 0,解方程组得到(4, -3)。

对于13x + 17y = n,即(4n, -3n)是方程的一个解。根据定理1,对于任一整数m,(4n + 17m, -3n - 13m) 都是方程13x + 17y = n的整数解。

现在我们对x和y加上非负的要求,即4n + 17m ≥ 0,且-3n - 13m ≥ 0,即-4/17 n ≤ m ≤ -3/13 n。

我们看到,当n = 13×17时,m取值的闭区间为[-52, -51];所以当n足够大(n ≥ 13×17)时, [-4/17 n, -3/13 n] 这个闭区间的长度大于1,区间中一定存在整数m。所以,符合题意要求的n一定小于13×17。那么13×17 - 1 = 220是不是正确答案呢?

当n < 13×17时,尽管闭区间长度小于1,但如果区间跨越某个整数,此时仍可以取到整数m,例如n = 220时,闭区间大约为[-51.765, -50.769],此时m仍可以取-51,得到x和y分别为13和3,即13×13 + 3×17 = 220。所以220不是正确答案,正确的n比13×17 - 1还要小。

那么,这个13×17是不是没有其它任何价值了呢?并不是。

我们来考虑13x + 17y = 13×17 (方程7),显然(0, 13)和(17, 0)是它的两组非负整数解。但它有没有严格的正整数解呢?不难发现,当y不为0时,x一定要能被17整除,能被17整除的最小正整数为17,而x ≥ 17时,17y = 13×17 - 13x ≤ 0,y已经不可能为正整数了,因此方程(7)没有正整数解。

再来考虑这样一个方程:13(x+1) + 17(y+1) = 13×17 (方程8)。因为方程7没有正整数解,所以方程8没有非负整数解,将方程8整理一下,得到13x + 17y = 13×17 - 13 - 17,所以当n = 13×17 - 13 - 17时,方程13x + 17y = n没有非负整数解。

对于任意13×17 > n > 13×17 - 13 - 17,如果有13x + 17y = n,显然x ≤ 16,同时,

17y = n - 13x > 13×17 - 13 - 17 - 13x ≥ 13×17 - 13 - 17 - 13×16 = -17,即y > -1,方程存在非负整数解。

因此,当n ≥ 13×17 - 13 – 17 + 1 = (13-1) × (17-1)时,13x + 17y = n始终有非负整数解。当n = 13×17 - 13 - 17,即n = 191时,13x + 17y = n没有非负整数解。所以,使得方程13x + 17y = n无非负整数解的n的最大值为191。

现实生活中有不少非负丢番图方程的(无聊的)实例,比如我们去寄信,邮票面值有8分,1毛5两种,信件的邮资是7毛,我们该如何买足邮资又不浪费。(都什么年代了,现在哪有这么便宜的邮票和邮资?!)又比如警察叔叔手中有n个硬币,一共价值m元,问各种硬币各有几个(小朋友们拾金不昧就行啦,费这个劲儿干嘛!)

不过,这都不妨碍我们研究和解决丢番图方程,正如楼下这位朋友所回复。

麦当劳的大奖_第3张图片

最后的彩蛋:丢番图究竟活了多少岁呢?

文/Athlon_BE
2019.6.13

你可能感兴趣的:(麦当劳的大奖)