大衍求一術解物不知數
我們先談兩個關於正整數除式餘數的性質
「如果正整數M和N同除以a的餘數分別是c和e,則(M+N)除以a的餘數等於(c+e)除以a的餘數。」........(1)
22÷7=3...1,31÷7=4...3,(22+31)÷7=(3+4)...(1+3)
29÷5=5...4,34÷5=6...4,(29+34)÷5=(6+5+1)...(4+4-5)
M÷a=b...c,N÷a=d...e,則M=ab+c,N=ad+e。
M+N=(ab+c)+(ad+e)=a(b+d)+(c+e)=a(b+d+1)+(c+e-a)
如果 c+e < a,則(M+N)÷a=(b+d)....(c+e)。
如果 c+e ≧ a所以(M+N)÷a=(b+d+1)....(c+e-a)。
「如果正整數M和N同除以a的餘數分別是c和1,則MN除以a的餘數等於c。」........(2)
9÷7=1...2,22÷7=3...1,(9×22)÷7=28...(2×1)
15÷11=1...4,23÷11=2...1,(15×23)÷11=31...(4×1)
M÷a=b...c,N÷a=d...1,則M=ab+c,N=ad+1。
MN=(ab+c)(ad+1)=(ab)(ad)+(ab)+c(ad)+c=(bad+b+cd)a+c,
因此MN除以a的餘數是c。
魏晉南北朝(西元280~420年期間),算書《孫子算經》卷下的第26題:
「今有物不知其數,三三數之剩二,五五數之剩三,七七數之剩二,問物幾何?」
答曰:二十三。(最小正整數解)
術曰:三三數之剩二,置一百四十;五五數之剩三,置六十三;七七數之剩二,置三十。 并之得二百三十三。以二百一十減之,即得。
凡三三數之剩一,則置七十;五五數之剩一,則置二十一;七七數之剩一,則置十五。 一百六以上,以一百五減之,即得。
雖然孫子給出答案和方法(術),卻沒有說明70、21、15是如何計算出來的。
明朝的程大位在《算法統宗》(1592年),為了凸顯70、21、15三個數字,將解法編成七字一句的歌訣:
「三人同行七十稀,五樹梅花廿一枝,七子團圓正半月,除百零五便得知。 」
南宋,秦九韶在《數書九章》以大衍求一術為《孫子算經》卷下第26題提出明確且有系統的解題步驟。
※ 現在,我們一起來討索「70、21、15是如何計算出來的(大衍求一術) 。
三三數之剩二,五五數之不剩,七七數之不剩,則此數n如何?
n≡2 (mod3),n≡0 (mod5),n≡0 (mod7)
,
n是35的倍數且除以3餘2。
因為 70÷3=23...1 , 2÷3=0...2,由(2)可知(70×2)÷3=46...(1×2),所以取n=70×2。
如果三三數之不剩,五五數之剩三,七七數之不剩,則此數n如何?
n≡0 (mod3),n≡3 (mod5),n≡0 (mod7) ,
n是21的倍數且除以5餘3。
因為21÷5=4...1 , 3÷5=0...3,由(2)可知(21×3)÷5=12...(1×3),所以取n=21×3。
如果三三數之不剩,五五數之不剩,七七數之剩二,則此數n如何?
n≡0 (mod3),n≡0 (mod5),n≡2 (mod7) ,
n是15的倍數且除以7餘2。
因為 15÷7=2...1 , 2÷7=0...2,由(2)可知(15×2)÷7=4...(1×2),所以取n=15×2。
(70×2)除以3餘數2,(21×3)除以3餘數0,(15×2)除以3餘數0,所以由(1)知 (70×2+21×3+15×2)除以3餘2。
(21×3)除以5餘數3,(70×2)除以5餘數0,(15×2)除以5餘數0,所以由(1)知 (70×2+21×3+15×2)除以5餘3。
(15×2)除以7餘數2,(70×2)除以7餘數0,(21×3)除以7餘數0,所以由(1)知 (70×2+21×3+15×2)除以7餘2。
「今有物不知其數,三三數之剩二,五五數之剩三,七七數之剩二,問物幾何?」
此數=(70×2+21×3+15×2)+[3,5,7]×k = 233+105k,其中k是整數。
如果k=-2,則233+105×(-2)=23,此數的最小值是23。
延伸性質:
「M57是35的倍數且除以3餘數1的最小正整數值,M37是21的倍數且除以5餘數1的最小正整數值,M35是15的倍數且除以7餘數1的最小正整數值。某數三三數之剩r3,五五數之剩r5,七七數之剩r7,則此數是M57×r3+M37×r5+M35×r7+[3,5,7]×k,其中k是整數。」
「今有物不知其數,三三數之剩r3,五五數之剩r5,七七數之剩r7,問物幾何?」
則此數是70×r3+21×r5+15×r7+105k ,其中k是整數。
----------------------------------------------------------------------------