古今著名数学问题:用现代数学方法解古题 物不知数
古今著名数学问题:用现代数学方法解古题 物不知数 译文:《孙子算经》(本文图片均来自网络) 今有物,不知其数。三三数之,剩二;五五数之,剩三;七七数之,剩二。问:物几何? ” 记载于距今约一千五百年前(公元四、五世纪)的中国古代重要的数学著作《孙子算经》下卷第28题,“物不知数问题”也叫“孙子问题”。
用现代数学方法解古题“物不知数”
2019年8月20日星期二
(一)古题原文:
“
今有物,不知其数。三三数之,剩二;五五数之,剩三;七七数之,剩二。问:物几何?
”
记载于距今约一千五百年前(公元四、五世纪)的中国古代重要的数学著作《孙子算经》下卷第28题,“物不知数问题”也叫“孙子问题”。
《孙子算经》(本文图片均来自网络)
译文:
“
现有一些物品,不知道有多少个。如果三个三个地数,会剩下2个;五个五个地数,会剩下3个;七个七个地数,也会剩下2个。请问:这些物品的数量至少是多少个?
”
数学化:
设此物之数为:x
则有:
x≡2(mod 3)或x÷3=q1……2,或x=3×q1+2,q1∈Z(整数)
x≡3(mod 5)或x÷5=q2……3,或x=5×q2+3,q2∈Z(整数)
x≡2(mod 7)或x÷7=q3……2,或x=7×q3+2,q3∈Z(整数)
更为通用的写法是黑体部分。“x≡2(mod 3)”读作:x同余2模3,表示“除以3(或以3为模)时,x和2具有同余关系”。这个式子叫做“一次同余方程”,一次同余方程多于一个时,叫做“一次同余方程组”。下文中将使用这种写法,务必使其不要成为阅读障碍。
(重要程度★★★★★)
(二)古解明代著名的大数学家程大位,在他所著的《算法统宗》中,将“孙子问题”的解法编成了歌诀,名曰《孙子歌》:
“
三人同行七十稀,
五树梅花廿一枝;
七子团圆正半月,
除百零五便得知。
”
程大位
《算法统宗》
歌诀中的“廿”,读音与“念”音相同。“廿”即二十的意思。
歌诀中的每一句话,都指出了一步解题方法:
“三(3)人同行七十(70)稀”:是说除以3所得的余数,要乘以70,即:2×70;
“五(5)树梅花廿一(21)枝”:是说除以5所得的余数,要乘以21,即:3×21;
“七(7)子团圆正半月(15)”:是说除以7所得的余数,要乘以15,即:2×15;
“除百零五(105)便得知”:是说要把上面所乘得的三个数相加,加得的和如果大于105,便应减去105,或者减去105的倍数。
计算过程如下:
2×70 3×21 2×15=140 63 30=233
233-105-105=23
(三)今解或许您和我一样,初见“古解”,一脸懵懂,不知其所以然。
下面给出较之《孙子歌》更为通用的解法,可以适用于除数为包含但不限于{3,5,7}的更一般的“物不知数问题”。
为了降低难度,不再讨论“k个一次同余方程组”的解法,只讨论“3个一次同余方程组”的解法,其方法可以递推,进而得到更一般的解法。
式①:
设有3个一次同余方程组如下:
x≡b1(mod m1)
x≡b2(mod m2)
x≡b3(mod m3)
其中:除数{m1,m2,m3}两两互素,即:(m1,m2)=1,(m1,m3)=1,(m2,m3)=1;对应余数小于除数,即:b1<m1,b2<m2,b3<m3。
若令:m1=3、m2=5、m3=7,b1=2、b2=3、b3=2,则可得文首古题。其中:(3,5)=1,(3,7)=1,(5,7)=1;2<3,3<5,2<7。
“除数两两互素”是重要的前提条件,否则,没有“漂亮的通解”,这是后话,本文不表。