主頁 類別 科普學習 中國古代數學

第46章 第四節大衍總數術與大衍求一術

中國古代數學 郭书春 1753 2018-03-20
中國民間歷來流傳著“秦王暗點兵”、“韓信點兵”、“鬼谷算”、“隔牆算”、“剪管術”等數字遊戲,實際上都是一種方法,它導源於《孫子算經》“物不知數”問,秦九韶稱作“大衍總數術”,即今之一次同餘式組解法。同餘是數論中的一個重要概念,給定一個正整數m,如果二整數a、b,使ab被m整除,就稱a、b對模m同餘,記作a≡b(mod m)。 “物不知數”題是:“今有物不知數,三三數之剩二,五五數之剩三,七七數之剩二,問物幾何?”這是世界數學史上首次提出同餘式問題。用現代符號表示,此題是求滿足同餘式:N≡2(mod 3)≡3(mod 5)≡2(mod 7)的最小正整數N。 《孫子算經》的解法是 N=2×70+3×21+2×15-2×105=23。

其根據是:70=2×5×7≡1(mod 3),21=3×7≡1(mod 5),15=3×5≡1(mod 7)。可見《孫子算經》的作者在一定程度上明白了下面這個定理: 若Ai(i=1,2……)是兩兩互素的正整數,Ri<Ai,Ri也是正整數(i=1,2……),正整數N滿足同餘式組 N≡Ri(mod Ai)i=1,2……如果能找到諸正整數ki,使
歐洲現代數學大師歐拉(公元1707—1783年)、拉格郎日(公元1736—1813年)都對同餘式問題作過研究。高斯(公元1777—1855年)的《算術探究》(公元1801年)中明確寫出了上述定理。來華傳教士偉烈亞力(公元1815—1887年)1852年將“物不知數”題介紹到西方,人們發現它與上述定理一致,遂稱之為中國剩餘定理。

同餘式解法還來自於曆法制定中上元積年的計算。中國古代的曆法,要假定遠古有一個甲子日,那一年的冬至與十一月的合朔都恰好在這一日的子時初刻。有這麼一天的年度叫上元,從上元到製定曆法的本年的總年數叫上元積年。已知本年冬至時刻及十一月平朔時刻,求“上元積年”在數學上便是同餘式問題。但是,“歷家雖用,用而不知”(《數書九章序》),在中國數學史也是世界數學史上第一次提出一次同餘式組完整解法的是南宋數學家秦九韶。 秦九韶的方法稱為大衍總數術。他將諸ki叫作乘率,諸Ai叫作定數,、q……餘數是r、r……按一定規則在左下、左上計算c、c……直到右上rn=1為止(此時n必定是偶數),則左上的c=qc+c便是所求的k值。用現代符號表示就是:

這裡要計算到右上rn=1,故有“求一”之名。可以證明,這種求乘率k的方法是正確的。在上述方法中,諸Ai必須是兩兩互素的正整數,但是在實際問題中諸Ai不一定互素,甚至不一定是整數,可能是分數或小數。秦九韶針對不同的情況,提出了化約各種不同的問題為定數的程序。由於中國古代沒有因數分解的概念,化約過程走了彎路,但畢竟比較成功地解決了這個問題。 秦九韶把大衍總數術不僅用於曆法推算,而且用於建築、行程、粟米交易、庫額利息,甚至斷案等問題。謹以“餘米推數”問為例。有一米舖投訴被盜去三籮筐米,不知數量。左籮剩1合,中籮剩14合,右籮剩1合。後捉到盜米賊甲、乙、丙。甲說,當夜他摸得一隻馬杓,一杓杓將左籮的米舀入布袋;乙說,他踢著一隻木履,將中籮的米舀入布袋;丙說,他摸得一隻漆碗,將右籮的米舀入布袋。三人將米拿回家食用,日久不知其數,遂交出作案工具。量得一馬杓容19合,一木履17合,一漆碗12合。問共丟失的米數及三人所盜的米數。這是求同餘式組的解N。

N≡1(mod 19)≡14(mod 17)≡1(mod 12) 由於19、17、12兩兩互素,便為定數。衍母為19×17×12=3876,衍數依次是17×12=204,19×12=228,19×17=323。求分別滿足k×204≡1(mod 19),k×228≡1(mod 17),k×323≡1(mod 12)的乘率k,k,k。由於衍數分別大於定數,便用定數減衍數,得奇數14,7,11。問題變成求分別滿足k×14≡1(mod 19),k×7≡1(mod 17),k×11≡1(mod 12)的k,k,k。求k的程序:
求k的程序:
求k的程序:
於是N≡1×15×204+14×5×228+1×11×323(mod 3876)≡22573(mod 3876)=3193.

每籮米數3193合,甲、丙盜米各為3192合,乙盜米3179合,共盜米9563合。
註釋: a=aaa…a
按“左鍵←”返回上一章節; 按“右鍵→”進入下一章節; 按“空格鍵”向下滾動。
章節數
章節數
設置
設置
添加
返回