關於大衍求一術的一個延拓

今天是一個明朗的日子,心情閒暇,因而,研究了一下我國的算術,我國的算術實際上是很是博大精深的,只是因爲某些偶然緣由,我國算術沒能發展起來,不然,現代算術中心必在東方之華夏,在個人印記中,咱們中學之前所學的算術思想,整體都體現了東方之華夏的風格.

原載<<孫子算經>>卷下第二十六題

今有物不知其數,三三數之剩二,五五數之剩三,七七數之剩二,問物幾何?

通俗來說,該問題的意思是:有一些物品,不知道有多少個,只知道將它們三個三個地數,會剩下兩個,五個五個地數,會剩下三個,七個七個地數,也會剩下兩個,這些物品的數量至少是多少個?

咱們能夠用孫子定理來解決該問題,孫子定理是我國古代求解一次同餘式組的方法,用現代數學語言來講明的話,即:設m1,m2,m3,...,mk,...,mn,是兩兩互素的正整數,那麼,對於任意整數,a1,a2,a3,...,ak,...,an,一次同餘方程組:

x≡a1(mod m1)
x≡a2(mod m2)
x≡a3(mod m3)
...
x≡ak(mod mk)
...
x≡an(mod mn)

其解爲,x≡M1.M1^(-1).a1+M2.M2^(-1).a2+M3.M3^(-1).a3+...+Mk.Mk^(-1).ak...+Mn.Mn^(-1).an(mod m),這裏,m=m1.m2.m3...mk...mn

Mj=m/mj,MjMj^(-1)≡1(mod mj),(1≤j≤k)

孫子定理的證實:

因爲,m1,m2,m3,...,mk,...mn,兩兩互素

因此,m=[m1,m2,m3,...,mk,...,mn]=m1.m2.m3...mk...mn

若,一次同餘方程組有解c1,c2,則:c1≡c2(mod m)

由於,m1.m2.m3...mk...mn兩兩互素,c1≡c2(mod mj),1≤j≤k

這即證實了同餘方程如有解,則解數爲1

下證,x=M1.M1^(-1).a1+M2.M2^(-1).a2+M3.M3^(-1).a3+...+Mk.Mk^(-1).ak...+Mn.Mn^(-1).an,確實是同餘方程組的解,顯然,(mj,Mj)=1

因此,知足MjMj^(-1)≡1(mod mj)的Mj^(-1)必存在

由MjMj^(-1)≡1(mod mj)以及mj|Mi(j≠i),因而推出:

x=MjMj^(-1).aj≡aj(mod mj)

即,x是解

因而,則有:

x≡2(mod 3)
x≡3(mod 5)
x≡2(mod 7)

先求被3除餘2,並能同時被5,7整除的數,這樣的數最小是35,再求被5除餘3,並能同時被3,7整除的數,這樣的數最小是63,而後求被7除餘2,並能同時被3,5整除的數,這樣的數最小是30,因而,由35+63+30=128,獲得的128就是一個所要求得的數,但這個數並非最小的,再用求得的128減去或者加上3,5,7的最小公倍數105的倍數,就獲得許許多多這樣的數:{23,128,233,338,443,...},從而可知,23,128,233,338,443,...都是孫子問題的解,而其中最小的解是23.

即,x=23

南宋數學家秦九韶在1247年著成<<數書九章>>十八卷,全書共81道題,分爲九大類:大衍類、天時類、田域類、測望類、賦役類、錢穀類、營建類、軍旅類、市易類,它總結了前人在開方中所使用的列籌方法,將其整齊而有系統地應用到高次方程的有理或無理根的求解上去,其中對大衍求一術、正負開方術、高次方程的數值解法等有十分深刻的研究,其中的大衍求一術,即,一次同餘組解法,1852年,大衍求一術傳入歐洲,人們發現大衍求一術和高斯的定理是一致的,而我國的研究早了一千多年,因而歐洲人就將大衍求一術,即,一次同餘組解法稱之爲中國剩餘定理,美國科學史家薩頓稱讚秦九韶是:他那個民族、他那個時代,而且也是全部時代最偉大的數學家之一,孫子問題的解法能夠推廣成解一次同餘式組的通常方法,秦九韶給出了理論上的證實,並將它定名爲:大衍求一術.

咱們將孫子定理推廣到通常情形,就能夠獲得大衍求一術(現表明示),以下:

設有一數N,分別被兩兩互素的正整數A1,A2,A3,...,An相除得餘數R1,R2,R3,...,Rn,即:

N≡Ri(mod Ai),i=1,2,3,...,n

若,求出一組正整數ki,i=1,2,3,...,n,使其知足ki.(M/Ai)≡1(modAi),則適合已給一次同餘式組的最小正整數爲:

N=∑ki.(M/Ai).Ri-l.M,i∈[1,n]且i∈Z+,(l是某一整數,M=A1.A2.A3...An)

這即爲大衍求一術的現表明示

之前,ki叫做乘率,各Ai叫做定數,M=ΠAj,j∈[1,n]且j∈Z+,叫做衍母,M/Ai叫做衍數,大衍求一即爲求乘率ki的值,爲簡單起見,咱們把M/Ai記爲G,把Ai記爲A,ki記爲k,則,大衍求一即變爲在G,A互素的情形下求知足於:kG≡1(mod A)的k值

若,G>A,則,令G/A,求得餘數g<A,則,G≡g(mod A),從而,kg≡1(mod A)和kG≡1(mod A)等價,所以,問題即變爲求知足於kg≡1(mod A)的k值,g稱爲奇數.

大衍求一術求解問題的思想是:把g置於右上,A置於右下,左上置天元一,g和A展轉相除,繼而得商q1,q2,q3,...和餘數r1,r2,r3,...,同時,按照必定的規則在左下,左上計算c1,c2,c3,...,直到右上rn=1爲止(此時,n必爲偶數,當rs=1且s爲偶數時,則,令q(s+1)=r(s-1)-1,即有r(s-1)=rsq(s+1)+r(s+1),則,令n=s+1,rn=r(s+1)=1),則,左上的cn=qnc(n-1)+c(n-2)即是所求的k值,現表明示即爲:

因而,記c0=1,c1=q1,ci=qici-1+ci-2,d0=0,d1=1,di=qidi-1+di-2,diA-cig=(-1)^(i-1)ri(i=1,2,3,...,n),當rn=1(n爲偶數)時,有:dnA-cng=(-1)^(n-1)rn=-1,從而,cng≡1(mod A),所以,cn=qncn-1+cn-2,即爲所求k值,如論如何,最後一步都出現餘數1,整個計算到此爲止.3d

相關文章
相關標籤/搜索