求一術的出路:同餘理論有何教學價值與意義?
一、前言
所謂「求一術」是指中國古代用以求解《孫子算經》「物不知數」題(參見圖一)的一種方法。這一方法在現代數論 (number theory) 中,當然連結到同餘 (congruence) 理論。事實上,一旦掌握了同餘理論,不僅求一術相關問題,其他一些初等算術中的可除性 (divisibility) 判別法則-譬如一個自然數可以被 13 整除的充要條件為何等等,當然也變得十分淺顯易解。
理論誠然必須擺在數學學習的第一順位。目前,學生學習的一個通病,顯然是升學競爭所造成的知識之徹底零碎化-其實,這也是一百多年前,德國偉大數學家克萊因 (Felix Klein, 1849-1925) 所批判的煩瑣章句之學,而其代價則是知識的系統性理解之欠缺。為了導正這種流弊,我們認為在教學過程中,教師應盡力協助學生培養系統性或結構性的理解。
當然,我們也承認在高級中學的數學課程中,有些知識或方法不是那麼容易形成一個系統或結構,不過,適當地組織一些單元,似乎還是可以「風雅地」介紹有一點結構意義的內容。這樣子說,並不表示現行教科書缺乏結構,只是在課堂上徒然增加許多解題活動,而無從利用論證來引進結構,顯然導致學生領略不到知識學習的核心價值與意義。

在本文中,我打算以讀者所熟悉的「物不知數」題為例,說明當它被納入同餘理論的一部份時,所謂的理解應該可以更加深入一層才是。這一觀察部分來自我自己的教學經驗。去年秋季班,我擔任本系大一「數學導論」課程教學,本文附錄的第一題,就是我要求學生解答的作業之一。另一方面,我將這一題連同第二、三題,構成一個「問題與討論」的作業,要求選修數學史的學生(主要是大學四年級)回答。在下文的第二節,我引述了某學生甲的期末報告中有關這一作業的反思,藉以考察他的理論 vs. 方法的學習心得。
此外,這種極端重視方法的學習,當然也可能呼應傳統中算論證風格,因此,我們也將簡要對照中國清代數學家如張敦仁、駱騰鳳以及黃宗憲的「求一」心得,以及德國偉大數學家高斯的同餘理論。不過,顯然是出自直接學習西方數學的影響,二十世紀初終於有清末數學家陳志堅在他的《求一得齋算學》(1904) 指出:以不定方程解析「物不知數題」(求一術)以及「百雞問題」(百雞術),則兩術不難貫為一條。按: 百雞問題」出自與《孫子算經》大約同時的《張丘建算經》,中國數學家直到大約 1820 年代,駱騰鳳才得以提出一個具有理論意義的解法。在本文中,我們也將略作介紹,並轉述駱騰鳳的研究成果。
二、某學生甲的學習心得
在去年 (2008) 上學期的「數學史」結束時,我要求選課的學生(主要是大四學生)就下列問題,提出他們的反思:
請詳細說明本課程在哪一個概念、方法(解題或證明)、理論、經典、數學家改變或充實了你的看法?試逐條舉例詳述之。
結果,有一位學生甲針對期中一份問題與討論(參見本文附錄) 發表他的心得,值得全文引述如下,[1]此處轉述學生之期中、末報告,事先曾徵求這一位學生(此處暱稱為甲)的同意,謹此申謝與聲明。
我對連結「物不知數題」與「中國剩餘定理」那堂課的內容印象很深刻。教授給我們《孫子算經》裡的一段文字,如下:
今有物不知其數,三三數之賸二,五五數之賸三,七七數之賸二,問物幾何?
答曰︰二十三
術曰:三三數之賸二,置一百四十;五五數之賸三,置六十三;七七數之賸二,置三十。并之得二百三十三。以二百一十減之,即得。凡三三數之賸一,則置七十,五五數之賸一,則置二十一,七七數之賸一,則置十五。一百六以上,以一百五減之,即得。
然後要我們理解這番話,寫下它的解法,並將之推廣。一開始,我先用高中的解法,如下:設此數為 N
N = 3⋅ 5 ⋅ 7a + p (0 ≤ p ≤ 104)
= 3⋅ 5 ⋅ 7a + 5 ⋅ 7b + q (0 ≤ b ≤ 3 ; 0 ≤ q ≤ 34 )
= 3⋅ 5 ⋅ 7a + 5 ⋅ 7b + 7c + 2 (0 ≤ c ≤ 4)因為用 5 除餘 3,所以 c=3;因為用 3 除餘 2,所以 b=0,故得 N=105a+23#
另解:
交給代數操作,很快的找出答案來了,可是當我回過頭思索文字內容,我卻從看不懂它的方法!?是中文不好,還是數學不好?我很疑惑 140、63、30 怎麼來的,以及為什麼要找出分別用 3、5、7 除餘 1 的數(70、21、15),即使在我第二個解法中湊出了 70、63、30,但我以為也只是乘上了某個倍數得來的,沒仔細想過原理和意義,但教授要點醒我們的也許就是這個了!若只透過操作與計算得到的結果,而忽略它的道理,沒把它的精隨吸收進去,那麼做了上百題上千題題目也無濟於事。陳創義教授也一再提醒我們要把數學融入思考裡!
70 是可被 5、7 整除,但用 3 除餘 1 的數,而原數除以 3 要餘 2,故 70×2=140,同理 63 和 30,接著即可寫出N=(140+63+30)-(105)× 2 = 23 #
如此(140+63+30)用 3 除餘 2、用 5 除餘 3、用 7 除餘 2,而要減掉(105)×2,是因為知道 105 個數一循環,我們要找到符合條件的最小正整數,於是才扣掉 210,把答案控制在 105 以內。在解讀方法之後,我們終於知道如何去把一次同餘式的解給一般化了!
比方說:
我們則先找出 a 、 b 、 c ,使得
∴ x = (ar1p2p3 + br2p1p3 + cr3p1p2 )- [p1, p2 , p3 ]× K, K 為某正整數 #
當然,四個或更多個一次同餘式聯立的情況,也可仿製此法,這就是教授所強調的「推廣」的重要性,倘若一個解法只適用於某些特殊題目時,那何須強記呢?只要改個形式,就又令人百思不得其解了,重要的是「實用」與「一般化」,讀大學四年,若只訓練出解高中所謂資優難題的能力,或者總是見招拆招、沒有一套中心概念的話,那讀數學系真的太浪費了,如同教授在課堂上舉出高斯的例子,證明費馬最後定理對他沒意義,那些特殊解法對我們同樣沒有意義,我們得好好反思這點。
而另一方面,以「物不知數題」連結至「中國剩餘定理」,可見這樣一個表現出「一般性」的「特例」非常成功,假使哪天我們成了教師,我們會怎麼教?這似乎也給了我們一些改善教學的好意見,多虧教授這麼用心,讓一個名題發揮它的價值與意義,更讓我們省思這麼多,謝謝。
不過,學生甲在回答那個「問題與討論」時,針對其中問題二:
如果你學過中國剩餘定理(當然含其證明),那麼,這對於你回答上述問題[按即:問題一]時,有無幫助?請說明之。
他的回答如下:
有幫助。利用中國剩餘定理比較容易抓到規律。由 [3, 5, 7]=105 知每 105 個就會循環一次。因此,也可知 23 之後,23+105n,n 為自然數,應可符合三三數之賸二、五五數之賸三、七七數之賸二此規則。
儘管如此,針對問題三:
如果你學過中國剩餘定理,請問你是將它當成一個方法 (method) 來學,還是當成某個理論的一部份來學?請解釋你的答案。
他的回答卻是:
當成一個方法應用在生活上!才實用!
可見,在期末報告的反思中,他對於理論與方法的角色其實有了更深刻的體會了。
三、從「物不知數題」到中國剩餘定理
求一術始見於《孫子算經》,不過,將它集大成的南宋秦九韶,在他的《數學九章》中,卻完全不曾提及。到了明代,雖然算學家將物不知數題的「術曰」編成歌訣以廣流傳,似乎也收到了普及的效果,譬如明代程大位《算法統宗》(1592)中,就有孫子歌曰:
三人同行七十稀,五樹梅花廿一支,七子團圓正半月,除百令五便得知。
不過,真正有進一步發展的時期,則是要等到清中葉之後。乾隆時編四庫全書,編者從《永樂大典》中抄出《數學九章》,四庫版再經過李銳校訂後,張敦仁、駱騰鳳、時曰醇以及黃宗憲等,都有所發明。在此,我們只提及當時有關求一術起源的一些看法,然後,再回來簡介秦九韶的大衍求一術。
張敦仁《求一算術》(1803) 序:
筭數之學,自九章而後,述作滋多,其最善者則有二術。一曰立天元一,一曰求一。盡方圓之變,莫善於立天元一,窮奇偶之情,莫善於求一。求一之術出於《孫子筭經》物不知數之問。
可見,當時數學家對於求一術的重視。
此外,左潛為黃宗憲《求一通解》作序時,也指出:
近日精算諸家,後先接踵,精思妙理,鑿險通幽其因仍舊術而絕無增變者,為大衍一術已耳。
這是因為他認為「《孫子筭經》物不知數一題,以三、五、七立算,在大衍題尚為淺顯,經中有術無草,殆未深求至理,原非有意故秘機緘。」至於論及秦九韶著述《數書九章》時,則認為他:
始立約分求等、求乘率諸法,數雖繁瑣,理實精深,後之攻是術者,皆未能洞悉其源,是以於所以然之理,具未能切近言之也。
回到中國南宋時期,秦九韶 (1202-1261) 在他的著作《數書九章》(1247)中,將此問題推廣到任意的模數(非兩兩互質)及餘數。至於此求解的方法,就稱為「大衍總數術」,是先將模數化為兩兩互質,再用「大衍求一術」去求解,對相關的理論和算法,作了集大成的工作。
事實上,「物不知數題」經由秦九韶的一般化,的確是高斯 1801 年所發表的相關定理之先聲,因此,西方國家稱此類型的問題為「中國剩餘定理」(Chinese Remainder Theorem),的確合乎情理。至於孫子與秦九韶的貢獻,則多虧了傳教士偉烈亞力 (Alexander Wylie) 1856 年在 North China Herald (《北華捷報》)所發表的論文 “Jottings on the Science of the Chinese Arithmetic” (中國算術論叢)。本論文先翻譯成德文,再翻譯成法文,在歐洲學術界流傳甚廣,因此,此一定理最後冠上形容詞「中國的」(Chinese),並且出現在歐美一般的數論或代數教科書上,才顯得相當水到渠成。
現在,且讓我們說明中國剩餘定理如何與秦九韶的「求一」有關了。中國剩餘定理當然涉及下列一次同餘式的聯立解:
這裡解法的關鍵,當然就在於如何轉換成為「求一」的問題了。至於如何求一呢?請看秦九韶的「大衍求一術」:
大衍求一術云︰置奇右上,定居右下,立天元一於左上。先以右上除右下,所得商數與左上一相生,入左下。然後乃以右行上下,以少除多,遞互除之,所得商數隨即遞互累乘,歸左行上下。須使右上末後奇一而止,乃驗左上所得,以為乘率。
試以 K‧20≡1 (mod 27) 為例:
得到 K=23 。
事實上,秦九韶對於「物不知數」題的延拓,還涉及非整數的模數,這是目前所謂的「中國剩餘定理」的版本之所缺,值得我們注意。
四、《張丘建算經》的「百雞術」
二:《張邱建算經》「百雞問題」書影
所謂的百雞問題(參見圖二),出自南北朝時代算書《張丘建算經》,原文引述如下:
今有雞翁一,直錢五;雞母一,直錢三;雞雛三,直錢一。凡百錢買雞百隻,問雞翁、母、雛各幾何?
答曰:雞翁四,直錢二十;雞母十八,直錢五十四;雞雛七十八,直錢二十六。雞翁八,直錢四十;雞母十一,直錢三十三;雞雛八十一,直錢二十七。雞翁十二,直錢六十;雞母四,直錢十二;雞雛八十四,直錢二十八。
術曰:雞翁每增四,雞母每減七,雞雛每益三即得。
如設 x, y, z 分別代表雞翁、雞母、雞雛各買之數,則依據題意,可得下列聯立方程:
運用方程相消未知數,以及不定方程的整數解求法,即可驗證上述答案全部正確。問題是:張丘建究竟如何得知?原書的術曰實在太過簡單,對於我們的解題實在沒有什麼幫助。不過,話說回來,雖然對後來的算學家而言,所需之方法(如方程相消與輾轉相除)都已齊備,然而,就是必須等到 1820 年代的清中葉數學家駱騰鳳,才首次正確地解出這一問題。
根據陳鳳珠 (2001) 的研究,駱騰鳳乃是結合了「三色差分法」與「大衍求一術」 而解決這一懸宕已久的歷史名題。此處,我們引述陳鳳珠利用現代符號所「翻譯」的解法,以供讀者參考:
- 15x+ 9y + z = 300, x + y + z = 0
- 兩式相減,得(15 −1)x + (9 −1) y = 200 ,即14x + 8 y = 200 (1)
- (1)÷2得 7x + 4y = 100 知 4y ≡ 0 = R1 (mod 4) , 4y ≡ 2 = R2 (mod 7) 。
- M=4× 7=28 , M2 =4, 4 ≡ 4 (mod 7) ,得 K2 = 2 。
- W2= K2 × M2 = 8 ,U1 = 0 、U2 = R2 ×W2 = 16 , 4y = (U1 + U2 ) − 0 × M = 16 ,得 y = 4 。
- x= (100 −16) ÷ 7 = 12 ; z = 100 −12 −16 = 84 。
- 知 7(x − 4) + 4( y + 7) = 100 , 7(x − 8) + 4( y +14) = 100 ;得 (x, y, z) 三解為:(12, 4, 84) 或 (8, 11, 81) 或 (4, 18, 78) 。
陳鳳珠在她的碩士論文中,當然引述了駱騰鳳的原文,其中充滿了大衍求一術的術語,如「定母」、「衍母」、「衍數」以及「用數」等等,[2]針對「物不知數題」而言,所謂的「定母」是指 3,5,7;「衍母」是指 105;「衍數」是指 35,21,15;「用數」則是指 140,63,30。足見這一位清中葉數學家還是可以推陳出新,統整出一個具有理論意義的研究成果出來。
五、高斯的貢獻
當高斯 (1777-1855) 在 1801 年出版《算學講話》 (Disquisitiones Arithmeticae) 時,他才 24 歲。本書是近代數論研究進入十九世紀的里程碑,也代表這門學科從此有了理論結構,超越了個別解題方法的收集之格局。後者主要是十八世紀數論大師勒讓德 (Legendre) 的風格,他的《數論研究文篇》 Essai sur la theorie des nombres, 1798) 歸納了截至當代的主要研究成果,譬如有關質數、二次式、連分數等等,都羅列在內,甚至他還提供了一張整數表,說明其各自的整數性質。相反地,高斯雖然處理了同樣的單元,但卻尋求定理以便揭露其底蘊的結構,譬如說,他就給出了整數因數分解唯一性的第一個存在性證明,而不只是提供解法而已。無怪乎數學史家都將高斯視為上承十八世紀、下啟十九世紀的偉大數學家,因為他不只精通十八世紀的解題,而且還開拓了十九世紀重視結構面向的數學風格。
《算學講話》中有一個部分專門處理整數的同餘(請注意:“≡” 這個同餘記號是他所發明的) ,值得在此稍加介紹,以便讓讀者對於高斯所建立的理論結構,有一個起碼的認識。這一短短篇幅的一節細分成有十一個小節,1、2、3 小節主要定義同餘數 (congruent numbers)、模數 (moduli)、留數 (residues) 與非留數(non-residues),並推演簡單的性質與定理。第 4 小節專論最小的留數 (least residue)。第 5 小節介紹幾個有關同餘數的命題,比如說吧,相對於一個合成的模數 (composite modulus),有一些數同餘,則相對於這個合成數的因數而言,這些數必然也會同餘。第 6、7、8 小節介紹同餘的運算法則:相對於任意模數而言,如果 A ≡ a, B ≡ b, C ≡ c 等等,則 A+B+C etc. ≡ a+b+c etc.,而且 A-B ≡ a-b。還有,若 A ≡ a,則 kA ≡ ka;若 A ≡ a, B ≡ b, C ≡ c,則 ABC≡ abc;以及若 A ≡ a,且 k 為一正整數,則 A k ≡ ak。第 9、10、11 小節則結合同餘式與整係數方程式的有理數解,作了一個初步的討論。最後,在第 12 小節,高斯提出若干應用,他主要指出有關可以被 9、11 或其他數整除的判別法則,都可以歸結到前述定理的應用。

六、結論
從數論的結構觀點來看,高斯的同餘理論代表了理論拔高的特殊意義,並顯現了它在教學方面的普世價值。因此,以「求一術」為例,如果我們要想將其相關概念與方法鋪陳出一點結構趣味,那麼,引進同餘理論,當然是唯一的出路!二十世紀初,中國清末數學家陳志堅的貫通「求一術」與「百雞術」為不定方程解析,儘管頗為難得,然而,還是欠缺理論高度。
誠然,「物不知數題」與「百雞問題」都是極有意義的數學名題,圓滿地解決它們當然可以帶動數學的進步與發展。這也是問題及其解決 (problem-solving) 成為數學的靈魂的主要原因之一。不過,話說回來,要是缺乏理論建構的視野,那麼,解題所能帶來的數學發展,大概就不無限制了。這個推論,應該也可以適用於中小學的數學學習。刁鑽古怪的難題測驗在東亞國家的數學教育評量或入學考試中,似乎是個極普遍的現象,這或許也解釋了這些國家的國際數學教育評比之名列前茅。然而,他們共同的重術輕理,應該也很難否認。日本數學史家平山諦曾就和算的「遺題繼承」之發展,提出他的評論:
這種「難問注意」的流行以及以極其複雜的計算為主的傾向,導致了輕視理論的弊端。今天的入學考試不也存在類似現象嗎?
這是日本的數學教育現實,我們似乎也不遑多讓才是。如此看來,如何折衷理論與解題,絕對是我們身為教師者無法迴避的重大課題了。
參考文獻
CBMS (Conference Board of the Mathematical Sciences) (2001). The Mathematical Education of Teachers. http://www.cbmsweb.org/MET_Document/index.html.
Courant, Richard and Herbert Robbins (revised by Ian Stewart) (1996). What Is Mathematics? New York / Oxford: Oxford University Press.
Gauss, F. (1959). “On the Congruence of Numbers”, David Smith E., eds., A Source Book in Mathematics (New York: Dover Publications, INC), pp. 107-111.
Grattan-Guinness, Ivor (1997). The Rainbow of Mathematics. London: Fontana Press.
Libbrecht, Ulrich (2005). Chinese Mathematics in the Thirteenth Century. New York: Dover Publications, INC.
Ore, Oystein (1988). Number Theory and Its History. New York: Dover Publications, INC.
Struik, Dirk (1987). A Concise History of Mathematics (Fourth revised edition). New York: Dover Publications, INC.
平山諦 (2005).《東西數學物語》(代欽中譯),上海:上海教育出版社。
李儼 (1998).〈大衍求一術的過去與未來〉,收入郭書春、劉鈍主編,《李儼 錢寶琮科學史全集》第六卷(瀋陽:遼寧教育出版社),頁 116-163。
孫子 (1981).《孫子算經》,收入《宋刻算經六種》,上海:上海古籍出版社。
秦九韶 (1993).《數書九章》,郭書春主編,《中國科學技術典籍通匯‧數學篇》 (一),頁 439-724 廿。
張敦仁 (1993).《求一算術》,收入郭書春主編,《中國科學技術典籍通匯‧數學篇》(五),頁 95-139。
陳鳳珠 (2001).《清代算學家駱騰鳳及其算學研究》,台北:國立台灣師範大學數學系碩士論文。
黃宗憲 (1993).《求一術通解》,收入郭書春主編,《中國科學技術典籍通匯‧數學篇》(五),頁 1119-1144。
楊瓊茹 (2009).〈求一與占卜〉,載洪萬生等,《當數學遇見文化》(台北:三民書局),頁 72-83。
楊瓊茹 (2009).〈剪管術 vs. 天算頌〉,載洪萬生等,《當數學遇見文化》(台北:三民書局),頁 151-160。
蘇意雯 (2009).〈遺題繼承,串起中日數學史〉,載洪萬生等,《當數學遇見文化》(台北:三民書局),頁 172-183。
附錄
數學史問題及討論 (2008/10/28)
姓名:
Email:
一、下列問題是大一「數學導論 A」的第一次考試題目之一,目的是連結「物不知數題」與「中國剩餘定理」(Chinese Remainder Theorem):
In an ancient Chinese mathematical text, there is a famous problem with its solution:
今有物不知其數,三三數之賸二,五五數之賸三,七七數之賸二,問物幾何?
答曰︰二十三。
術曰:三三數之賸二,置一百四十;五五數之賸三,置六十三;
七七數之賸二,置三十。并之得二百三十三。以二百一十減之,
即得。凡三三數之賸一,則置七十,五五數之賸一,則置二十一,
七七數之賸一,則置十五。一百六以上,以一百五減之,即得。
Try to generalize the solution to this problem. Write down what you think as much as possible.
你認為如何回答比較好?為什麼?
二、如果你學過中國剩餘定理(當然含其證明),那麼,這對於你回答上述問題時,有無幫助?請說明之。
三、如果你學過中國剩餘定理,請問你是將它當成一個方法 (method)來學,還是當成某個理論的一部份來學?請解釋你的答案。
作者附記:本文同時刊登於《數學快遞》第二期。
註解
發佈留言