九章算術譯註 · 九章算術卷第八
魏 劉徽 注
唐朝議大夫行太史令上輕車都尉臣李淳風等奉敕注釋
方程〔1〕以御錯糅正負〔2〕
今有上禾三秉〔3〕,中禾二秉,下禾一秉,實三十九斗;上禾二秉,中禾三秉,下禾一秉,實三十四斗;上禾一秉,中禾二秉,下禾三秉,實二十六斗。問:上、中、下禾實一秉各幾何?
荅曰:
上禾一秉九斗四分斗之一,
中禾一秉四斗四分斗之一,
下禾一秉二斗四分斗之三。
方程程,課程也。群物總雜,各列有數,總言其實。令每行為率〔4〕,二物者再程,三物者三程,皆如物數程之,並列為行,故謂之方程〔5〕。行之左右無所同存,且為有所據而言耳〔6〕。此都術也,以空言難曉,故特系之禾以決之〔7〕。術曰:置上禾三秉,中禾二秉,下禾一秉,實三十九斗於右方。中、左禾列如右方〔8〕。又列中、左行如右行也〔9〕。右行上禾遍乘中行,而以直除〔10〕。為術之意,令少行減多行,返覆相減,則頭位必先盡。上無一位,則此行亦闕一物矣。然而舉率以相減,不害餘數之課也〔11〕。若消去頭位,則下去一物之實。如是疊令左右行相減〔12〕,審其正負,則可得而知。先令右行上禾乘中行,為齊同之意。為齊同者,謂中行直減右行也〔13〕。從簡易雖不言齊同,以齊同之意觀之,其義然矣〔14〕。又乘其次,亦以直除。復去左行首〔15〕。然以中行中禾不盡者遍乘左行,而以直除。亦令兩行相去行之中禾也〔16〕。左方下禾不盡者,上為法,下為實。實即下禾之實〔17〕。上、中禾皆去,故餘數是下禾實,非但一秉。欲約眾秉之實,當以禾秉數為法。列此,以下禾之秉數乘兩行,以直除,則下禾之位皆決矣〔18〕。各以其餘一位之秉除其下實。即計數矣,用算繁而不省〔19〕。所以別為法,約也。然猶不如自用其舊,廣異法也〔20〕。求中禾,以法乘中行下實,而除下禾之實〔21〕。此謂中兩禾實〔22〕,下禾一秉實數先見,將中秉求中禾〔23〕,其列實以減下實〔24〕。而左方下禾雖去一秉,以法為母,於率不通〔25〕。故先以法乘,其通而同之〔26〕。俱令法為母,而除下禾實〔27〕。以下禾先見之實令乘下禾秉數,即得下禾一位之列實〔28〕。減於下實,則其數是中禾之實也〔29〕。余,如中禾秉數而一,即中禾之實〔30〕。余,中禾一位之實也。故以一位秉數約之,乃得一秉之實也。求上禾,亦以法乘右行下實,而除下禾、中禾之實〔31〕。此右行三禾共實,合三位之實,故以二位秉數約之,乃得一秉之實〔32〕。今中、下禾之實,其數並見,令乘右行之禾秉以減之,故亦如前,各求列實,以減下實也。余,如上禾秉數而一,即上禾之實〔33〕。實皆如法,各得一斗〔34〕。三實同用。不滿法者,以法命之。母、實皆當約之。
【注釋】
〔1〕方程:中國古典數學的重要科目,「九數」之一,即今之線性方程組解法,與今之「方程」的含義不同。今之方程古代稱為開方。1859年李善蘭(1811—1882)與傳教士偉烈亞力(A.Wylie,1815—1887)合譯棣麼甘(De Morgen,1806—1871)的《代數學》時,將equation譯作「方程」,1872年華蘅芳(1833—1902)與傳教士傅蘭雅(J.Fryer,1839—?)合譯華里司(William Wallace,1768—1843)的《代數術》時將equation譯作「方程式」。華蘅芳在《學算筆談》(1896)等著作中「方程」與「方程式」並用,前者仍是《九章算術》本義,後者指equation。1934年數學名詞委員會確定用「方程(式)」表示equation,用「線性方程組」表示中國古代的「方程」。1950年傅鍾孫力主去掉「式」字,1956年科學出版社出版的《數學名詞》去掉了「式」字,最終改變了「方程」的本義。
〔2〕錯糅(róu):就是交錯混雜。糅,本義是雜飯,引申為混雜,混合。《儀禮·鄉射禮》:「旌各以其物,無物,則以白羽與朱羽糅槓。」鄭玄註:「糅,雜也。」
〔3〕禾:粟,今之小米。《說文解字》:「禾,嘉穀也。」又指莊稼的莖稈。《說文解字》:「稼,禾之秀實為稼,莖節為禾。」這裡應該是帶谷穗的谷秸。 秉:禾束,禾把。《詩經·小雅·大田》:「彼有遺秉,此有滯穗。」毛傳:「秉,把也。」李籍云:「一禾為秉。」
〔4〕令每行為率:此謂每一個數量關係構成一個有順序的整體,並投入運算,類似於今之線性方程組中之行向量的概念。行,古代豎置為行,橫置為列,與今相反。因此古代方程的一行,仍是今之線性方程組的一行。只不過古代的行是自右向左排列。
〔5〕此為劉徽關於方程的定義。自宋以來,直到20世紀,關於方程的含義多有誤解,比如將「方」理解成方形,方陣,正,比,比方等;將「程」理解成式、表達式等。這都是望文生義。方程:本義是並而程之。方,並也。《說文解字》:「方,並船也。像兩舟,省總頭形。」程,本義是度量名,引申為事務的標準。《荀子·致仕》:「程者,物之准也。」《九章算術》「冬(春、夏、秋)程人功」、「程功」、「程行」、「程粟」等皆指標準度量。因此,方程就是並而程之,即將諸物之間的幾個數量關係並列起來,考察其度量標準。一個數量關係排成有順序的一行,像一枝竹或木棍。將它們一行行並列起來,恰似一條竹筏或木筏,這正是方程的形狀。顯然,劉徽的定義完全符合《九章算術》方程的本義。李籍云:「方者,左右也。程者,課率也。左右課率,總統群物,故曰方程。」李籍的說法接近本義。《儀禮·大射禮》:「左右曰方。」鄭玄註:「方,出旁也。」應該是由「並」引申出來的。
〔6〕行之左右無所同存,且為有所據而言耳:此謂方程中沒有等價的行,同時,每一行都是有根據的。前者符合現代線性方程組有解的條件。
〔7〕劉徽認為,方程術是「都術」,即普遍方法。但是,由於方程術太複雜,只好藉助於禾來闡釋。 決:古多作「決」。本義是開鑿壅塞,疏通水道,引申為解決問題。
〔8〕這是列出方程,如圖8-1(1),設x,y,z分別表示上、中、下禾一秉之實,它相當於線性方程組
3x+2y+z=39
2x+3y+z=34
x+2y+3z=26。
圖8-1
〔9〕又列中、左行如右行也:各本均竄於「術曰」之前,今校正。
〔10〕遍乘:整個地乘,普遍地乘。遍,普遍地。 直除:面對面相減,兩行對減。直,當,臨。《儀禮·士冠禮》:「直東序西面。」賈公彥疏:「直,當也。謂當堂上東序牆也。」除,減。此是以右行上禾係數3乘整個中行,如圖8-1(2)。然後以右行與中行對減,兩度減,中行上禾的係數變為0,如圖8-1(3)。它相當於線性方程組
3x+2y+z=39
5y+z=24
x+2y+3z=26。
〔11〕舉率以相減,不害餘數之課也:方程整個的行互相減,不影響方程的解。劉徽在此提出了方程術消元的理論基礎。劉徽對此沒有證明,顯然認為這是一條不證自明的公理。劉徽「令每行為率」,則舉率就是整行。
〔12〕疊:重複,重疊。《玉篇》:「疊,重也,累也。」
〔13〕為齊同者,謂中行直減右行也:為了做到齊同,就是說應當從中行對減去右行。
〔14〕以齊同之意觀之,其義然矣:不過以齊同的意圖考察之,其意義確實是這樣。劉徽以齊同原理闡釋方程術的消元法。他「令每行為率」,因此便可以將率的三種等量變換「乘以散之,約以聚之,齊同以通之」施用於方程。以某數乘整行,如上述以右行的上禾係數3乘中行,就是乘以散之。同樣,如果一行中諸係數和常數項有等數,可以約去,就是約以聚之。而消元的過程就是齊同以通之。也就是說,以右行首項係數乘整個中行,就是使中行其他項與其首項相齊;而從中行直減右行,直到使中行首項係數化為0,實際上減去的右行首項係數的總數量與中行首項相同,就是同。後來李淳風等在《張丘建算經注釋》中稱為「同齊者,謂同行首,齊諸下」。對其他行、其他項亦如此。
〔15〕此是以右行上禾係數3乘整個左行,以右行直減左行,使左行上禾係數也化為0,如圖8-1(4)。它相當於線性方程組
3x+2y+z=39
5y+z=24
4y+8z=39。
〔16〕這是以中行中禾係數5乘左行整行,以中行直減左行,4度減,則左行中禾係數亦化為0。
〔17〕左行下禾係數為36,實為99。下禾係數與實有等數9,以其約簡,下禾係數為4,作為法,實為11。實只是下禾的實。如圖8-1(5),它相當於線性方程組
3x+2y+z=39
5y+z=24
4z=11。
〔18〕皆決:皆去。決,訓「絕」。此處劉徽仍用直除法由左行下禾係數消去中、右行的下禾係數,如圖8-1(6)所示。它相當於線性方程組
12x+8y=145
4y=17
4z=11。
同樣,再用中行中禾的係數消去右行中禾的係數,如圖8-1(7)。它相當於線性方程組
4x=37
4y=17
4z=11。
顯然,這是一種將直除法進行到底的方法,與《九章算術》的方法(見下)有所不同。
〔19〕即計數矣,用算繁而不省:那麼統計用算的次數,運算太繁瑣而不簡省。即,訓「則」。數,用算的次數。
〔20〕然猶不如自用其舊,廣異法也:然而這種方法還不如仍用其舊法,不過,這是為了擴充不同的方法。
〔21〕「求中禾」三句:《九章算術》為了求中禾,以左行的法(即下禾的係數)乘中行的下實,減去左行下禾的實。記直除後中行的實為B′,中禾係數為,下禾係數為,左行的法(即下禾係數)為,下實為C′,則得。在此問中即24×4-11×1=85。
〔22〕中兩禾實:即中行的中、下兩種禾之實。中,謂中行。此下是劉徽解釋《九章算術》的方法。
〔23〕下禾一秉實數先見(xiàn),將中秉求中禾:1捆下等禾的實數已先顯現出來了,那麼就中等禾的捆數求中等禾的實。見,顯現。中秉,指中禾秉數。
〔24〕其列實以減下實:就用它(下禾)的列實去減中行下方的實。此處「列實」指下禾的列實,即左行下禾的實乘中行的下禾秉數。此問中即是11×1。其,它的。
〔25〕「左方下禾雖去一秉」三句:雖可以減去左行1捆下等禾的實,可是以法作為分母,對於率不能通達。此謂由左行可以求出下禾一秉之實,減中行、右行,可是那樣做會出現以法為分母的分數,於率不通。
〔26〕其通而同之:使其通達而做到同。「通而同之」系漢、魏關於齊同術的術語,它是通過「通」而做到「同」,與方田章等處的「同而通之」通過「同」做到「通」不同。
〔27〕俱令法為母,而除下禾實:都以左行的法作為分母,而減去下等禾的實。
〔28〕以下禾先見之實令乘下禾秉數,即得下禾一位之列實:以左行下等禾先顯現的實乘中行下等禾的捆數,就得到下等禾一位的列實。
〔29〕減於下實,則其數是中禾之實也:以它去減中行下方的實,則其餘數就是中等禾之實。
〔30〕余,如中禾秉數而一,即中禾之實:中禾之餘實除以中行的中禾的秉數,即就是中禾之實(仍以左行之法為法)。記右行實為A1,右行之上、中、下禾係數為a1,a2,a3,即得。此問中即以(24×4-11×1)÷5=17為中禾之實,以4為法。
〔31〕「求上禾」三句:如果求上禾,《九章算術》亦以左行之法乘右行下實,減去左行下禾之實乘右行下禾秉數,再減去中行中禾之實乘右行中禾秉數。此問中即39×4-11×1-17×2。
〔32〕乃得一秉之實:就得到1秉一種禾的實。
〔33〕余,如上禾秉數而一,即上禾之實:其餘數,除以上等禾的捆數,就是1捆上等禾之實。余,指以左行之法乘右行下實,減去左行下禾實乘右行下禾秉數,再減去中行中禾之實乘右行中禾秉數之餘數。它除以右行上禾之秉數,即,就是上禾之實,仍以左行之法為法。在此問中就是(39×4-11×1-17×2)÷3=37,仍以4為法。亦得到形如圖8-1(7)的方程。《九章算術》在消去中、左行的首項及左行的中項之後,沒有再用直除法,而是採用類似於今之代入法的方法求解。劉徽認為這種方法比一直使用直除法簡約。
〔34〕實皆如法,各得一斗:這就是實皆除以法,分別得1捆的斗數。亦即得到1秉上禾之實斗,1秉中禾之實斗,1秉下禾之實斗。
【譯文】
方程處理交錯混雜及正負問題
假設有3捆上等禾,2捆中等禾,1捆下等禾,共39斗實;2捆上等禾,3捆中等禾,1捆下等禾,共34斗實;1捆上等禾,2捆中等禾,3捆下等禾,共26斗實。問:1捆上等禾、1捆中等禾、1捆下等禾的實各是多少?
答:
1捆上等禾斗,
1捆中等禾斗,
1捆下等禾斗。
方程程,就是求解其標準。各種物品混雜在一起,各列都有不同的數,總的表示出它們的實。使每行作為率,兩個物品有兩程,三個物品有三程,程的多少都與物品的種數相等。把各列並列起來,就成為行,所以叫作方程。某行的左右不能有等價的行,而且都是有所根據而表示出來的。這是一種普遍方法,因為太抽象的表示難以使人通曉,所以特地將它與禾聯繫起來以解決之。
術:在右行布置3捆上等禾,2捆中等禾,1捆下等禾,共39斗實。中行、左行的禾也如右行那樣列出。又像右行那樣列出中行、左行。以右行的上等禾的捆數乘整個中行,而以右行與之對減。造術的意圖是,數值小的行減數值大的行,反覆相減,則頭位必定首先減盡。上面沒有了這一位,則此行就去掉了一種物品。然而用整個的行互相減,其餘數不影響方程的解。若消去了這一行的頭位,則下面也去掉一種物品的實。像這樣,反覆使左右行相減,考察它們的正負,就可以知道它們的結果。先使右行上等禾的捆數乘整個中行,意圖是要讓它們齊同。為了做到齊同,就是說應當從中行對減去右行。遵從簡易的原則,雖然不叫作齊同,不過以齊同的意圖考察之,其意義確實是這樣。又以右行上禾的捆數乘下一行,亦以右行對減。再消去左行頭一位。然後以中行的中等禾沒有減盡的捆數乘整個左行,而以中行對減。又使中、左兩行相消除去左行的中等禾。左行的下等禾沒有減盡的,上方的作為法,下方的作為實。這裡的實就是下等禾之實。左行的上等禾、中等禾皆消去了,所以餘數就是下等禾之實,但不是1捆的。想約去眾多的捆的實,應當以下等禾的捆數作為法。列出這一行,以下等禾的捆數乘另外兩行,以左行對減,則這二行下等禾位置上的數就都被消去了。分別以各行餘下的一種禾的捆數除下方的實。那麼統計用算的次數,運算太繁瑣而不簡省。創造別的方法,是為了約簡。然而這種方法還不如仍用其舊法,不過,這是為了擴充不同的方法。如果要求中等禾的實,就以左行的法乘中行下方的實,而減去下等禾之實。這是說中行有中等、下等兩種禾的實,而1捆下等禾的實數已先顯現出來了,那麼就中等禾的捆數求中等禾的實,就用下禾的列實去減中行下方的實。——而雖可以減去左行1捆下等禾的實,可是以法作為分母,對於率不能通達。所以先以左行的法乘中行下方的實,使其通達而做到同。都以左行的法作為分母,而減去下等禾的實。以左行下等禾先顯現的實乘中行下等禾的捆數,就得到下等禾一位的列實。以它去減中行下方的實,則其餘數就是中等禾之實。它的餘數,除以中等禾的捆數,就是1捆中等禾的實。餘數是中等禾這一種物品的實。所以以它的捆數除之,就得到1捆中等禾的實。如果要求上等禾的實,也以左行的法乘右行下方的實,而減去下等禾、中等禾的實。這右行是三種禾共有的實,是三種物品的實之和,所以去掉二種物品的捆數,就得到一種的實。現在中等禾、下等禾的實,它們的數量都顯現出來了,便以它們乘右行中相應的禾的捆數,以減下方的實,所以也像前面那樣,分別求出中等禾、下等禾的列實,以它們減下方的實。其餘數,除以上等禾的捆數,就是1捆上等禾之實。這就是實皆除以法,分別得1捆的斗數。三個實被同樣地使用。如果實有不滿法的部分,就以法命名一個分數。分母、分子都應當約簡。
今有上禾七秉,損實一斗,益之下禾二秉,而實一十斗;下禾八秉,益實一斗,與上禾二秉,而實一十斗〔1〕。問:上、下禾實一秉各幾何?
荅曰:
上禾一秉實一斗五十二分斗之一十八,
下禾一秉實五十二分斗之四十一。
術曰:如方程。損之曰益,益之曰損〔2〕。問者之辭雖〔3〕?今按:實雲上禾七秉、下禾二秉,實一十一斗;上禾二秉、下禾八秉,實九斗也〔4〕。「損之曰益」,言損一斗,余當一十斗。今欲全其實,當加所損也。「益之曰損」,言益實以一斗,乃滿一十斗。今欲知本實,當減所加,即得也。損實一斗者,其實過一十斗也;益實一斗者,其實不滿一十斗也。重諭損益數者,各以損益之數損益之也。
【注釋】
〔1〕設x,y分別表示上、下禾一秉之實,題設相當於給出關係
(7x-1)+2y=10
2x+(8y+1)=10。
〔2〕損之曰益,益之曰損:在此處減損某量,也就是說在彼處增益同一個量,在此處增益某量,也就是說在彼處減損同一個量。損益是建立方程的一種重要方法。損之曰益,是說關係式一端減損某量,相當於另一端增益同一量。益之曰損,是說關係式一端增益某量,相當於另一端減損同一量。雖然《九章算術》沒有賦予其「損益術」之名,但從許多題目聲明「損益之」來看,它與正負術等術文具有同等的功能。損益之說本是先秦哲學家的一種辯證思想。《周易·損》:「損下益上,其道上行。」《老子·四十二章》:「物或損之而益,或益之而損。」其他學者也經常用到「損益」。《九章算術》的編纂者借用「損益」這一術語,仍是增減的意思,與《老子》之說十分接近,當然其含義稍有不同。一般認為,代數「algebra」來自阿拉伯文al jabr,是因為花拉子米(Al-Khowârizmî,約783—約850)寫了一部代數著作《算法與代數學》(al-Kitāb al-mukhta sarfi hisab al-jabr wa almuquābala,直譯為《還原與對消計算概要》)。Al jabr在阿拉伯文中的意思是「還原」或「移項」,解方程時將負項由一端移到另一端,變成正項,就是「還原」;wa'l muquābalah是「對消」,即將兩端相同的項消去或合併同類項。(D.E.Smith,History of Mathematics,vol.Ⅱ,Dover Publications,P.382,1925)顯然,《九章算術》使用還原與合併同類項,要比花拉子米早一千年左右。
〔3〕問者之辭雖:提問者的話是什麼意思呢?雖,古與「誰」通用,訓為「何」。
〔4〕劉徽指出,通過損益,其線性方程組就是
7x+2y=11
2x+8y=9。
【譯文】
假設有7捆上等禾,如果它的實減損1斗,又增益2捆下等禾,而實共是10斗;有8捆下等禾,如果它的實增益1斗,與2捆上等禾,而實也共是10斗。問:1捆上等禾、下等禾的實各是多少?
答:
1捆上等禾的實斗,
1捆下等禾的實斗。
術曰:如同方程術那樣求解。在此處減損某量,也就是說在彼處增益同一個量,在此處增益某量,也就是說在彼處減損同一個量。提問者的話是什麼意思呢?今按:這實際上是說,7捆上等禾、2捆下等禾,實是11斗;2捆上等禾、8捆下等禾,實是9斗。「在此處減損某量,也就是說在彼處增益同一個量」,是說實減損1斗,餘數應當是10斗。今想求它的整個實,應當加所減損的數量。「在此處增益某量,也就是說在彼處減損同一個量」,是說實增益1斗,才滿10斗。今想知道本來的實,應當減去所增加的數量,就得到了。「它的實減損1斗」,就是它的實超過10斗的部分;「它的實增益1斗」,就是它的實不滿10斗的部分。再一次申明減損增益的數量,就是各以減損增益的數量對之減損增益。
今有上禾二秉,中禾三秉,下禾四秉,實皆不滿斗。上取中、中取下、下取上各一秉而實滿斗〔1〕。問:上、中、下禾實一秉各幾何?
荅曰:
上禾一秉實二十五分斗之九,
中禾一秉實二十五分斗之七,
下禾一秉實二十五分斗之四。
術曰:如方程。各置所取。置上禾二秉為右行之上,中禾三秉為中行之中,下禾四秉為左行之下。所取一秉及實一斗各從其位。諸行相借取之物,皆依此例。以正負術入之〔2〕。
正負術曰〔3〕:今兩算得失相反,要令正、負以名之〔4〕。正算赤,負算黑。否則以邪、正為異〔5〕。方程自有赤、黑相取,法、實數相推求之術,而其並、減之勢不得廣通,故使赤、黑相消奪之〔6〕。於算或減或益,同行異位殊為二品,各有並、減之差見於下焉〔7〕。著此二條〔8〕,特系之禾以成此二條之意。故赤、黑相雜足以定上下之程,減、益雖殊足以通左右之數,差、實雖分足以應同異之率〔9〕。然則其正無人以負之〔10〕,負無人以正之〔11〕,其率不妄也〔12〕。同名相除〔13〕,此謂以赤除赤,以黑除黑。行求相減者〔14〕,為去頭位也〔15〕。然則頭位同名者當用此條;頭位異名者當用下條〔16〕。異名相益〔17〕,益行減行,當各以其類矣〔18〕。其異名者,非其類也。非其類者,猶無對也,非所得減也〔19〕。故赤用黑對則除,黑〔20〕,無對則除,黑〔21〕;黑用赤對則除,赤〔22〕,無對則除,赤〔23〕;赤、黑並於本數。此為相益之〔24〕,皆所以為消、奪。消、奪之與減、益成一實也〔25〕。術本取要,必除行首,至於他位,不嫌多少,故或令相減,或令相併,理無同異而一也〔26〕。正無人負之〔27〕,負無人正之〔28〕。無人,為無對也。無所得減,則使消奪者居位也。其當以列實或減下實〔29〕,而行中正、負雜者亦用此條〔30〕。此條者,同名減實、異名益實,正無人負之,負無人正之也。 其異名相除〔31〕,同名相益〔32〕,正無人正之〔33〕,負無人負之〔34〕。此條「異名相除」為例,故亦與上條互取。凡正負所以記其同異,使二品互相取而已矣〔35〕。言負者未必負於少,言正者未必正於多〔36〕。故每一行之中雖復赤、黑異算無傷。然則可得使頭位常相與異名〔37〕。此條之實兼通矣,遂以二條返覆一率。觀其每與上下互相取位,則隨算而言耳,猶一術也〔38〕。又,本設諸行,欲因成數以相去耳〔39〕,故其多少無限,令上下相命而已。若以正、負相減,如數有舊增法者,每行可均之,不但數物左右之也〔40〕。
【注釋】
〔1〕設x,y,z分別表示上、中、下禾一秉之實,它相當於線性方程組
2x+y=1
3y+z=1
x+4z=1。
其籌式如圖8-2(1)。
圖8-2
〔2〕以正負術入之:將正負術納入其解法。入,納入。此問的方程在消去左行上禾的係數時,其中會出現0-1=-1的運算,從而變成
2x+y=1
3y+z=1
-y+8z=1。
其籌式如圖8-2(2),所以要將正負術納入此術的解法。
〔3〕正負術:即正負數加減法則。《九章算術》中負數的引入及正負數加減法則的提出,都是世界上最早的,超前其他文化傳統幾百年甚至上千年。
〔4〕這是劉徽的正負數定義。它表示,正數與負數是互相依存的,相對的。正數相對於負數而言為正數,負數相對於正數而言為負數。因此,正數與負數可以互相轉化,已經擺脫了以盈為正,以欠為負的素樸觀念。
〔5〕正算赤,負算黑:這是正負數的算籌表示法。不過學術界在理解上尚有不同意見。有的學者認為是整個算籌塗成紅色或黑色,有的學者認為只是在算籌上有紅色或黑色的標記。「以邪正為異」,有的學者認為是指邪置、正置,有的學者認為指正算的截面為正三角形(有三廉),負算的截面為正方形(有四廉)。宋元時期常在算籌上置一邪籌表示負數。本書亦以這種方式表示負數,如圖8-2(2)左行的,就表示-1。
〔6〕消奪:指相消與奪位兩種運算。相消是以某數消減另一個數。如果將該數相消化為0,則就是奪,即奪其位。
〔7〕「於算或減或益」三句:對於算數有的減損,有的增益,它們在同一行的不同位置上完全表示兩種不同的物品,它們各有加,有減,其和差顯現於下方。益,增益,加。見,顯現。劉徽在此說明為什麼必須建立正負術,即赤、黑相消奪之術。
〔8〕二條:指正負數加法法則與正負數減法法則。
〔9〕赤、黑相雜:指方程的一行中正負數相雜。 減、益雖殊:指方程中左右行相對的正負數相加減。 差、實雖分:指各行中諸未知數的係數與實的關係。劉徽在此說明正負術在這三種情況中的應用。這裡的「率」指計算方法。「率」的本義是標準,引申為按標準計算,計算方法。《隋書·律曆志》在談到數學方法時說:「夫所謂率者,有九流焉。」
〔10〕正無人以負之:正的算數如果無偶,就變成負的。無人,就是「無偶」。人,偶,伴侶。《莊子·大宗師》:「彼方且與造物者為人,而游乎天地之一氣。」王先謙集解引王引之云:「為人,猶言為偶。」「無人」系《大典》本、楊輝本之原文,不誤。楊輝本「賣牛羊」問在「一法」之「無入」下註:「古本誤刻『無人』者,非。」所謂「古本」即北宋賈憲的《黃帝九章算經細草》,它是楊輝本的底本。宋景昌據此認為「楊氏亦從『入』」。戴震輯錄校勘本改「人」作「入」。錢寶琮認定戴震此處參考過《永樂大典》中所引楊輝本。此後諸本均改作「入」。汪萊、李潢不同意戴震的意見。汪萊云:「『無人』,『人』不誤。『無人』謂有空位也。」李潢云:「『入』字原本作『人』,孔刻改為『入』,非是。」李潢本「於經、注作『入』,仍微波榭本也。『說』中作『人』,遵原本也」。然此後各本均從戴校。今恢復《大典》本、楊輝本原文。下「無人」均同,恕不再注。以,訓「則」。
〔11〕負無人以正之:負的算數如果無偶,就變成正的。
〔12〕率:這裡亦指計算方法。
〔13〕同名相除:相減的兩個數如果符號相同,則它們的數值相減。這是《九章算術》提出的正負數減法法則。名,名分,指稱,此處即今之正負號。同名,同號。除,這裡是減的意思。此謂符號相同的數相減,即劉徽所說的「以赤除赤」,「以黑除黑」,則它們的數值(這裡是絕對值)相減。即
(±a)-(±b)=±(a-b),a>b,
(±a)-(±b)=∓(b-a),a<b。
〔14〕相減:這裡指相加減,偏詞復義。
〔15〕為去頭位:為的是消去頭位。《九章算術》的直除法只是消去某行的頭位。
〔16〕此條:指正負數減法法則中的「同名相除」。 下條:指下文正負數減法法則中的「異名相益」。
〔17〕異名相益:相減的兩個數如果符號不同,則它們的數值相加。異名,即不同號。這裡是說,符號不同的數相減,即以赤除黑,或以黑除赤,則它們的數值(這裡是絕對值)相加。即
(±a)-(∓b)=±(a+b)。
〔18〕益行減行,當各以其類矣:兩行相加或相減,都應當分別依據它們的類別。其類,它們的類別。這裡指同號、異號。
〔19〕「非其類者」三句:不是它那一類的,就好像是沒有對減的數,則就不可以相減了。無對,沒有相對的數。這是說在建立正負數加減法則之前正負數是無法相加減的。
〔20〕故赤用黑對則除,黑:紅算數如果用黑算數作對減的數,則得黑算數。此即
(-a)-(+b)=-(a+b)。
〔21〕無對則除,黑:如果紅算數沒有與之對減的數,也得黑算數,即
0-(+a)=-a。
〔22〕黑用赤對則除,赤:黑算數如果用紅算數對減,則得紅算數,即
(+a)-(-b)=+(a+b)。
〔23〕無對則除,赤:如果黑算數沒有與之對減的數,也得紅算數,即
0-(-a)=a。
〔24〕之:語氣詞。
〔25〕消奪之與減益成一實:此謂通過消奪減益化成一種物品的實。
〔26〕劉徽在此又一次強調,《九章算術》的直除法是消去某行有效數字的頭位,而其他位或者相減,或者相加,都是同一個道理。而:訓「乃」。王引之《經傳釋詞》卷七:「『而』,猶『乃』也。」
〔27〕正無人負之:《九章算術》的術文是說,正數沒有與之對減的數,則為負數。即
0-(+a)=-a,a>0。
〔28〕負無人正之:《九章算術》的術文是說,負數沒有與之對減的數,則為正數。即
0-(-a)=+a,a>0。
以上兩種情形都是劉徽所說的「消奪者居位」。
〔29〕或:與「有」通,訓「而」,見裴學海《古書虛字集釋》卷二。
〔30〕此條:指正負數減法法則。
〔31〕其異名相除:如果兩者是異號的,則它們的數值(這裡是絕對值)相減。即
(±a)+(∓b)=±(a-b),a>b。
自此起是《九章算術》提出的正負數加法法則。
〔32〕同名相益:如果相加的兩者是同號的,則它們的數值(這裡是絕對值)相加。即
(±a)+(±b)=±(a+b)。
〔33〕正無人正之:如果正數沒有與之相加的,則為正數。即
0+(+a)=+a,a>0。
〔34〕負無人負之:如果負數沒有與之相加的,則為負數。即
0+(-a)=-a,a>0。
〔35〕使二品互相取而已:只是使二種物品互取而已。
〔36〕劉徽在此再一次闡明正數與負數是相對的,就其絕對值而言,正的未必就大,負的未必就小。
〔37〕劉徽指出,在一行中,赤算統統變成黑算,黑算統統變成赤算,其數量關係不變。因此,可以將用來消元的兩行的頭位變成互相異號,以使它們相加。
〔38〕劉徽認為,由於正數與負數是相對而言的,並且減一正數相當於加一負數,減一負數相當於加一正數,那麼,正負數的加減法則可合為一術。即
(±a)-(±b)=(±a)+(∓b)=±(a-b)。
〔39〕成數:指每行都有確定之數,故可相減。成,訓「定」,猶如開方術「成方」之「成」。
〔40〕「如數有舊增(cénɡ)法者」三句:如一行諸數中有原來的法的重疊,那麼這一行可以自行調節,不只是對各物品的數量利用左右行相消。換言之,如果某行的諸數中有公因子,可以用它約簡,不只是左右行相消。增,訓「層」。劉向《說苑·反質》:「宮室台閣,連屬增累。」增法,重疊的法。均,調和,調節。《詩經·小雅·皇皇者華》:「我馬維駰,六轡既均。」毛傳:「均,調也。」
【譯文】
假設有2捆上等禾,3捆中等禾,4捆下等禾,它們各自的實都不滿1斗。如果上等禾借取中等禾、中等禾借取下等禾、下等禾借取上等禾各1捆,則它們的實恰好都滿1斗。問:1捆上等禾、中等禾、下等禾的實各是多少?
答:
1捆上等禾的實是斗,
1捆中等禾的實是斗,
1捆下等禾的實是斗。
術:如同方程術那樣求解。分別布置所借取的數量。布置上等禾的捆數2為右行的上位,中等禾的捆數3為中行的中位,下等禾的捆數4為左行的下位。每行所借取的1捆及實1斗都遵從自己的位置。凡是各行之間有互相借取物品的問題,皆依照此例。將正負術納入之。
正負術:如果兩個算數所表示的得與失是相反的,必須引入正負數以命名之。正的算數用紅籌,負的算數用黑籌。否則就用邪籌與正籌區別它們。方程術自有紅算數與黑算數互相借取,法與實的數值互相推求的方法,然而它們相加、相減的態勢不能廣泛通達,所以使紅算數與黑算數互相消減、奪位。對於算數,有的減損,有的增益,它們在同一行的不同位置上,完全表示兩種不同的物品,它們各有加、有減,其和、差顯現於下方的位置上。於是,撰著這二條法則,並且特地將它們與禾聯繫起來,為的是闡明此二條的意義。因此紅算數與黑算數雖然互相錯雜,卻足以確定上下的程式,相減、相加雖然不同卻足以使左右行之數互相通達,差與實雖然有區別,卻足以適應於同號異號的計算。那麼在減法運算中正的算數如果無偶,就變成負的,負的算數如果無偶,就變成正的,其計算方法並不是虛妄的。相減的兩個數如果符號相同,則它們的數值相減,這是說以紅算數減紅算數,以黑算數減黑算數。諸行中要求相加減,為的是消去它的頭位。那麼兩行的頭位如果是同號的,應當用此條;頭位如果是異號的,應當用下條。相減的兩個數如果符號不相同,則它們的數值相加,不管是兩行相加,還是相減,都應當分別依據它們的類別。如果是與它符號不同的,就不是它那一類的。不是它那一類的,就好像是沒有對減的數,則就不可以相減了。紅算數如果用黑算數作對減的數,則得黑算數,如果沒有對減的數,也得黑算數;黑算數如果用紅算數對減,則得紅算數,如果沒有對減的數,也得紅算數;紅算數與黑算數都是原本的數相加。這裡是兩者相增益,都是用來消減、奪位。消減、奪位與減損、增益使之成為一種物品的實。一種術最根本的是要抓住其關鍵。方程術中必定要消去某一行的首位,至於其他位,不管是多少,所以有時是它們相減,有時是它們相加,不論符號是相同還是不同,原理都是一樣的。正數如果無偶,就變成負的,負數如果無偶,就變成正的。無偶,就是沒有與之對減的數。沒有能夠被減的,則就使用來消減的數居於這個位置。那些應當以列實去減下方的實的,以及一行中正負數相錯雜的,也應當應用這一條。這一條就是,同符號的就減實、不同符號的就加實,正數如果無偶就變成負數,負數如果無偶就變成正數。相加的兩個數如果符號不相同,則它們的數值相減,相加的兩個數如果符號相同,則它們的數值相加,正數如果無偶就是正數,負數如果無偶就是負數。這一條以「相加的兩個數如果符號不相同,則它們的數值相減」為例,所以也與上一條互取。凡是正負數所以記出它們的同號異號,只是使二種物品互取而已。表示成負的,負的其數值未必就小,表示成正的,正的其數值未必就大。所以每一行之中即使將紅算與黑算互易其符號,也沒有什麼障礙。那麼可以使兩行的頭位取成互相不同的符號。這些條文的實質全都是相通的,於是以上二條翻來覆去都是同一種運算。考察它們在一行中上下互相選取的符號,則總是根據運算的需要而表示出來的,仍然是同一種方法。又,設置諸行,本意是想憑藉已有的數互相消減,所以不管行數是多少,使上下相命就可以了。若用正負數相減,如一行諸數中有原來的法的重疊,那麼這一行可以自行調節,不只是對各物品的數量利用左右行相消。
今有上禾五秉,損實一斗一升,當下禾七秉;上禾七秉,損實二斗五升,當下禾五秉〔1〕。問:上、下禾實一秉各幾何?
荅曰:
上禾一秉五升,
下禾一秉二升。
術曰:如方程。置上禾五秉正,下禾七秉負,損實一斗一升正〔2〕。言上禾五秉之實多,減其一斗一升,余,是與下禾七秉相當數也。故互其算,令相折除,以一斗一升為差〔3〕。為差者,上禾之餘實也。次置上禾七秉正,下禾五秉負,損實二斗五升正〔4〕。以正負術入之。按:正負之術本設列行,物程之數不限多少,必令與實上、下相次,而以每行各自為率。然而或減或益,同行異位殊為二品,各自並、減之差見於下也〔5〕。
今有上禾六秉,損實一斗八升,當下禾一十秉;下禾一十五秉,損實五升,當上禾五秉〔6〕。問:上、下禾實一秉各幾何?
荅曰:
上禾一秉實八升,
下禾一秉實三升。
術曰:如方程。置上禾六秉正,下禾一十秉負,損實一斗八升正。次〔7〕,上禾五秉負,下禾一十五秉正,損實五升正〔8〕。以正負術入之。言上禾六秉之實多,減損其一斗八升,余,是與下禾十秉相當之數。故亦互其算,而以一斗八升為差實。差實者,上禾之餘實。
今有上禾三秉,益實六斗,當下禾一十秉;下禾五秉,益實一斗,當上禾二秉〔9〕。問:上、下禾實一秉各幾何?
荅曰:
上禾一秉實八斗,
下禾一秉實三斗。
術曰:如方程。置上禾三秉正,下禾一十秉負,益實六斗負。次置上禾二秉負,下禾五秉正,益實一斗負〔10〕。以正負術入之。言上禾三秉之實少,益其六斗,然後於下禾十秉相當也〔11〕。故亦互其算,而以六斗為差實。差實者,下禾之餘實。
【注釋】
〔1〕設x,y分別表示上、下禾一秉之實,《九章算術》的題設相當於給出關係
5x-11=7y
7x-25=5y。
此下3問都是常數項和未知數項的損益問題,合為一組。
〔2〕《九章算術》列出方程的右行,相當於
5x-7y=11。
未知數的係數有負數。
〔3〕互其算:交換算數,即損益。
〔4〕《九章算術》列出方程的左行,相當於
7x-5y=25。
〔5〕各自並、減之差見(xiàn)於下也:各自有加有減,其和差顯現於下方。見,顯現。
〔6〕設x,y分別表示上、下禾一秉之實,《九章算術》的題設相當於給出關係
6x-18=10y
15y-5=5x。
〔7〕次:即「次置」。
〔8〕《九章算術》得出方程,相當於
6x-10y=18
-5x+15y=5。
兩個未知數的係數都有負數。
〔9〕設x,y分別表示上、下禾一秉之實,《九章算術》的題設相當於給出關係
3x+6=10y
5y+1=2x。
〔10〕《九章算術》得出方程,相當於
3x-10y=-6
-2x+5y=-1。
此不僅兩個未知數都有負係數,而且實亦為負數。
〔11〕於下禾十秉相當:與10秉下禾相當。於,訓「與」。裴學海《古書虛字集釋》卷一:「『於』,猶『與』也。」
【譯文】
假設有5捆上等禾,將它的實減損1斗1升,等於7捆下等禾;7捆上等禾,將它的實減損2斗5升,等於5捆下等禾。問:1捆上等禾、下等禾的實各是多少?
答:
1捆上等禾的實是5升,
1捆下等禾的實是2升。
術:如同方程術那樣求解。布置上等禾的捆數5,是正的,下等禾的捆數7,是負的,減損的實1斗1升,是正的。這是說5捆上等禾的實多,減損它1斗1升,餘數就與7捆下等禾的實相等。所以互相置換算數,使它們互相折消,以1斗1升作為差。成為這個差的,就是上等禾餘下的實。其次布置7捆上等禾,是正的,5捆下等禾,是負的,減損的實2斗5升,是正的。將正負術納入之。按:應用正負術,本來設置各列各行,需要求解的物品個數不管多少,必須使它們與實上下一一排列,而以每行各自作為率。然而有的減損,有的增益,它們在同一行不同位置完全表示二種不同的物品,各自有加有減,其和差顯現於下方。
假設有6捆上等禾,將它的實減損1斗8升,與10捆下等禾的實相等;15捆下等禾,將它的實減損5升,與5捆上等禾的實相等。問:1捆上等禾、下等禾的實各是多少?
答:
1捆上等禾的實是8升,
1捆下等禾的實是3升。
術曰:如同方程術那樣求解。布置上等禾的捆數6,是正的,下等禾的捆數10,是負的,所減損的實1斗8升,是正的。接著,布置上等禾的捆數5,是負的,下等禾的捆數15,是正的,所減損的實5升,是正的。將正負術納入之。這是說6捆上等禾的實多,減損它1斗8升,餘數與10捆下等禾的實相等。所以也互相置換算數,而以1斗8升作為差實。差實就是上等禾餘下的實。
假設有3捆上等禾,將它的實增益6斗,與10捆下等禾的實相等;5捆下等禾,將它的實增益1斗,與2捆上等禾的實相等。問:1捆上等禾、下等禾的實各是多少?
答:
1捆上等禾的實是8斗,
1捆下等禾的實是3斗。
術:如同方程術那樣求解。布置上等禾的捆數3,是正的,下等禾的捆數10,是負的,增益的實6斗,是負的。接著布置上等禾的捆數2,是負的,下等禾的捆數5,是正的,增益的實1斗,是負的。將正負術納入之。這是說3捆上等禾的實少,給它增益6斗,然後與10捆下等禾的實相等。所以也互相置換算數,而以6斗作為差實。差實就是下等禾餘下的實。
今有牛五、羊二,直金十兩;牛二、羊五,直金八兩〔1〕。問:牛、羊各直金幾何?
荅曰:
牛一直金一兩二十一分兩之一十三,
羊一直金二十一分兩之二十。
術曰:如方程。假令為同齊,頭位為牛,當相乘。右行定〔2〕,更置牛十、羊四,直金二十兩;左行牛十、羊二十五,直金四十兩〔3〕。牛數等同,金多二十兩者,羊差二十一使之然也。以少行減多行,則牛數盡,惟羊與直金之數見,可得而知也〔4〕。以小推大,雖四、五行不異也〔5〕。
【注釋】
〔1〕設x,y分別表示牛、羊直金,題設給出的方程圖8-3(1),相當於線性方程組
5x+2y=10
2x+5y=8。
圖8-3
〔2〕相乘:指頭位互相乘,以做到齊同。這是劉徽創造的解線性方程組的互乘相消法。
〔3〕「更置牛十、羊四」四句:此謂通過齊同運算,右行由「牛五、羊二,直金十兩」變換成「牛十、羊四,直金二十兩」,左行由「牛二、羊五,直金八兩」變成「牛十、羊二十五,直金四十兩」,得到如圖8-3(2)的方程,它相當於
10x+4y=20
10x+25y=40。
〔4〕以少行減多行,即以右行減左行,得方程如圖8-3(3),它相當於
10x+4y=20
21y=20。
因此1隻羊直金兩。
〔5〕劉徽認為,這一方法可以推廣到任意多行的方程。可惜,劉徽的這一創造長期未引起數學家的重視。直到北宋賈憲《黃帝九章算經細草》才大量使用互乘相消法,同時也使用直除法。南宋秦九韶《數書九章》才廢止直除法,完全使用互乘相消法。
【譯文】
假設有5頭牛、2隻羊,值10兩金;2頭牛、5隻羊,值8兩金。問:1頭牛、1隻羊各值多少金?
答:
1頭牛值兩金,
1隻羊值兩金。
術:如同方程術那樣求解。假令作齊同變換,兩行的頭位是牛,應當互相乘。右行就確定了,重新布置牛的頭數10,羊的只數4,值金數20兩;左行牛的頭數10,羊的只數25,值金數40兩。兩行牛的頭數相等,那麼金多20兩,是羊多了21隻造成的。以數值少的行減多的行,則牛的頭數減盡,只有羊的只數與所值的金數顯現出來,因此可以知道一隻羊所值的金的兩數。以小推大,即使是四、五行的方程也沒有什麼不同。
今有賣牛二、羊五,以買一十三豕,有餘錢一千;賣牛三、豕三,以買九羊,錢適足;賣六羊、八豕,以買五牛,錢不足六百〔1〕。問:牛、羊、豕價各幾何?
荅曰:
牛價一千二百,
羊價五百,
豕價三百。
術曰:如方程。置牛二、羊五正,豕一十三負,余錢數正;次,牛三正,羊九負,豕三正;次,五牛負,六羊正,八豕正,不足錢負〔2〕。以正負術入之。此中行買、賣相折,錢適足,故但互買、賣算而已〔3〕。故下無錢直也。設欲以此行如方程法,先令二牛遍乘中行,而以右行直除之。是故終於下實虛缺矣,故注曰「正無實負,負無實正」,方為類也〔4〕。方將以別實加適足之數與實物作實。
盈不足章「黃金白銀」與此相當。「假令黃金九、白銀一十一,稱之重適等。交易其一,金輕十三兩。問:金、銀一枚各重幾何?」與此同。
【注釋】
〔1〕設牛、羊、豕價分別是x,y,z,《九章算術》的題設相當於關係式
2x+5y=13z+1 000
3x+3z=9y
6y+8z=5x-600。
〔2〕《九章算術》列出方程,如圖8-4(1),它相當於線性方程組
2x+5y-13z=1 000
3x-9y+3z=0
-5x+6y+8z=-600。
圖8-4
〔3〕故但互買、賣算而已:所以只是互相置換買賣的算數即可。故但,所以只是。
〔4〕故註:舊注。劉徽此處所引,當然是前人的舊注。
【譯文】
假設賣了2頭牛、5隻羊,用來買13頭豬,還剩餘1 000錢;賣了3頭牛、3頭豬,用來買9隻羊,錢恰好足夠;賣了6隻羊、8頭豬,用來買5頭牛,不足600錢。問:1頭牛、1隻羊、1頭豬的價格各是多少?
答:
1頭牛的價格是1 200錢,
1隻羊的價格是500錢,
1頭豬的價格是300錢。
術:如同方程術那樣求解。布置牛的頭數2、羊的只數5,都是正的,豬的頭數13,是負的,余錢數是正的;接著布置牛的頭數3,是正的,羊的只數9,是負的,豬的頭數3,是正的;再布置牛的頭數5,是負的,羊的只數6,是正的,豬的頭數8,是正的,不足的錢是負的。將正負術納入之。這裡中行的買賣互相折算,錢數恰好足夠,所以只是互相置換買賣的算數即可。因而下方沒有值的錢數。如果想把方程的解法用於這一行,須先使牛的頭數2整個地乘中行,而用右行與之對減。中行下方的實既然虛缺,那麼舊注說「正的沒有實被減,就是負的,負的沒有實被減,就是正的」,就是為了這一類問題。將用別的實加適足的數,以實物作為實。盈不足章的黃金白銀問題與此相似。「假設有9枚黃金,11枚白銀,稱它們的重量,恰好相等。交換其一枚,黃金這邊輕13兩。問:1枚黃金、1枚白銀各重多少?」與此相同。
今有五雀六燕〔1〕,集稱之衡〔2〕,雀俱重,燕俱輕。一雀一燕交而處,衡適平〔3〕。並雀、燕重一斤。問:雀、燕一枚各重幾何?
荅曰:
雀重一兩一十九分兩之一十三,
燕重一兩一十九分兩之五。
術曰:如方程。交易質之〔4〕,各重八兩〔5〕。此四雀一燕與一雀五燕衡適平。並重一斤,故各八兩。列兩行程數。左行頭位其數有一者,令右行遍除〔6〕。亦可令於左行,而取其法、實於左。左行數多,以右行取其數。左頭位減盡,中、下位算當燕與實。右行不動,左上空。中法,下實,即每枚當重宜可知也〔7〕。按:此四雀一燕與一雀五燕其重等,是三雀四燕重相當,雀率重四,燕率重三也。諸再程之率皆可異術求也〔8〕,即其數也。
【注釋】
〔1〕成語「五雀六燕」即由此衍化而成,喻雙方分量相等,如五雀六燕,銖兩悉稱。亦省作「五雀」。清趙翼《哭汪文端師》詩:「乙鴻精鑑別,五雀定衡銓。」
〔2〕稱(chēnɡ):稱量。李籍云:「正斤兩也。」 衡:衡器,秤。李籍云:「權衡也。」
〔3〕《藝文類聚》卷九十二鳥部下於「燕」字云:「《九章算術》曰:『五雀六燕,飛集衡,衡適平。』」文字與此稍異。
〔4〕質:稱,衡量。《漢語大字典》、《漢語大詞典》此釋義均以《九章算術》此問為例句。疑「稱量」之義由「質」訓評斷、評量引申而來。《周禮·夏官·馬質》:「馬質掌質馬。」賈公彥疏:「質,平也。」筆者故鄉山東膠州至今說稱量某物為「質質」,當是古語。
〔5〕《九章算術》實際上給出形如圖8-5(1)的方程。設1隻雀、燕的重量分別為x,y,它相當於線性方程組
4x+y=8
x+5y=8。
圖8-5
〔6〕由於左行頭位為1,令從右行四度減去左行,右行頭位化為0,下位為-19,實為-24。整行乘以-1,如圖8-5(2)所示,即得1隻燕的重量。
〔7〕此是消去方程左行頭位的程序。因為左行燕的只數多,所以求燕的重量可以用此行,在此行求燕的法與實。以右行的頭位4乘左行整行,減去右行,左行頭位為0,法為19,實為24。如圖8-5(3)所示。
〔8〕異術:實際上就是劉徽在麻麥問提出的方程新術。由原方程即圖8-5(1)中的兩行相減,下方的實變為0,雀的係數為3,燕的係數為-4,也就是3雀相當於4燕,於是
雀:燕=4:3, 或 x:y=4:3。
任取一行,比如右行,用今有術將雀化為燕,即
於是
【譯文】
假設有5隻麻雀、6隻燕子,分別在衡上稱量之,麻雀重,燕子輕。將1隻麻雀、1隻燕子交換,衡恰好平衡。麻雀與燕子合起來共重1斤。問:1隻麻雀、1隻燕子各重多少?
答:
1隻麻雀重兩,
1隻燕子重兩。
術:如同方程術那樣求解。將1隻麻雀與1隻燕子交換,再稱量它們,各重8兩。這裡4隻麻雀、1隻燕子與1隻麻雀、5隻燕子恰好使衡平衡。它們合起來重1斤,所以各重為8兩。列出兩行用以求解的數。左行頭位的數為1,使左行整個地去減右行。也可使右行與左行對減,而在左行取得法與實。左行的下位與實的數值大,以右行消減它的數。左行的頭位減盡,中位與下位應當是燕與實的算數。右行不動,左行上位空。中位是法,下位是實,那麼每1隻燕子的重量應當是可以知道的。按:此4隻麻雀、1隻燕子與1隻麻雀、5隻燕子,它們的重量相等,這就是3隻麻雀與4隻燕子的重量相當,所以麻雀重的率是4,燕子重的率是3。各種求若干率的問題都可以用特殊的方法解決,就得到其數值。
今有甲、乙二人持錢不知其數。甲得乙半而錢五十,乙得甲太半而亦錢五十〔1〕。問:甲、乙持錢各幾何?
荅曰:
甲持三十七錢半,
乙持二十五錢。
術曰:如方程。損益之〔2〕。此問者言一甲、半乙而五十,太半甲、一乙亦五十也。各以分母乘其全,內子,行定:二甲、一乙而錢一百;二甲、三乙而錢一百五十〔3〕。於是乃如方程。諸物有分者放此〔4〕。
今有二馬、一牛價過一萬,如半馬之價;一馬、二牛價不滿一萬,如半牛之價〔5〕。問:牛、馬價各幾何?
荅曰:
馬價五千四百五十四錢一十一分錢之六,
牛價一千八百一十八錢一十一分錢之二。
術曰:如方程。損益之。此一馬半與一牛價直一萬也,二牛半與一馬亦直一萬也〔6〕。「一馬半與一牛直錢一萬」,通分內子,右行為三馬、二牛,直錢二萬。「二牛半與一馬直錢一萬」,通分內子,左行為二馬、五牛,直錢二萬也〔7〕。
【注釋】
〔1〕設甲、乙持錢分別是x,y,《九章算術》的題設相當於給出關係式
此問與下問都是通過損益得到分數係數方程組,合為一組。
〔2〕損益之:此處的「損益」與第2問的意義及其他有關問題的用法有所不同,是指將分數係數通過通分損益成整數係數。
〔3〕劉徽指出其方程相當於線性方程組
2x+y=100
2x+3y=150。
〔4〕放:訓「仿」。此問是《九章算術》第一個分數係數方程,故劉徽指出其他有關分數係數的方程,仿此處理。
〔5〕設馬、牛之價分別是x,y,《九章算術》的題設相當於給出關係式
〔6〕損益之,得出
這裡既有未知數和常數項的互其算,又有未知數的合併同類項。
〔7〕劉徽說,通過通分納子,將方程化成
3x+2y=20 000
2x+5y=20 000。
【譯文】
假設甲、乙二人帶著錢,不知是多少。如果甲得到乙的錢數的,就有50錢,乙得到甲的錢數的,也就有50錢。問:甲、乙各帶了多少錢?
答:
甲帶了錢,
乙帶了25錢。
術:如同方程術那樣求解。先對之減損增益。這一問題是說,1份甲帶的錢與份乙帶的錢而共有50錢,份甲帶的錢與1份乙帶的錢也共有50錢。各以分母乘其整數部分,納入分子,確定兩行為:甲的份數2、乙的份數1而共有100錢,甲的份數2、乙的份數3而共有150錢。於是就如同方程術那樣求解。各種物品有分數的都仿照此問。
假設有2匹馬、1頭牛,它們的價錢超過10 000錢的部分,如同1匹馬的價錢的;1匹馬、2頭牛,它們的價錢不滿10 000錢的部分,如同1頭牛的價錢的。問:1頭牛、1匹馬的價錢各是多少?
答:
1匹馬的價錢是錢,
1頭牛的價錢是錢。
術:如同方程術那樣求解。先對之減損增益。這裡匹馬與1頭牛的價錢值10 000錢,頭牛與1匹馬的價錢也是10 000錢。「匹馬與1頭牛的價錢值10 000錢」,通分納子,右行為:馬的匹數3、牛的頭數2,值錢20 000錢。「頭牛與1匹馬的價錢也是10 000錢」,通分納子,左行為:馬的匹數2、牛的頭數5,值錢20 000錢。
今有武馬一匹〔1〕,中馬二匹,下馬三匹,皆載四十石至坂〔2〕,皆不能上。武馬借中馬一匹,中馬借下馬一匹,下馬借武馬一匹,乃皆上〔3〕。問:武、中、下馬一匹各力引幾何〔4〕?
荅曰:
武馬一匹力引二十二石七分石之六,
中馬一匹力引一十七石七分石之一,
下馬一匹力引五石七分石之五。
術曰:如方程。各置所借。以正負術入之〔5〕。
【注釋】
〔1〕武馬:上等馬。李籍云:「武馬,戎馬也。戎馬言武馬者,猶《曲禮》謂戎車為武車也。取其健猛而善行也。」
〔2〕坂(bǎn):斜坡。《說文解字》:「坂,坡者曰坂。」李籍云:「不平也。」
〔3〕借:李籍云:「從人假物也。」設1匹武馬、中馬、下馬之力引分別是x,y,z,《九章算術》給出的方程相當於線性方程組
x+y=40
2y+z=40
x+3z=40。
〔4〕力引:拉力,牽引力。引,本義是拉弓,開弓。引申為牽引,拉。李籍云:「引,重也。《易》曰:『引重致遠。』」
〔5〕此問的方程是已經討論過的類型,劉徽沒有注。
【譯文】
假設有1匹上等馬,2匹中等馬,3匹下等馬,分別載40石的物品至一陡坡,都上不去。這匹上等馬借1匹中等馬,這些中等馬借1匹下等馬,這些下等馬借1匹上等馬,於是都能上去。問:1匹上等馬、中等馬、下等馬的拉力各是多少?
答:
1匹上等馬的拉力石,
1匹中等馬的拉力石,
1匹下等馬的拉力石。
術:如同方程術那樣求解。分別布置所借的1匹馬。將正負術納入之。
今有五家共井,甲二綆不足〔1〕,如乙一綆;乙三綆不足,以丙一綆;丙四綆不足,以丁一綆;丁五綆不足,以戊一綆;戊六綆不足,以甲一綆。如各得所不足一綆,皆逮〔2〕。問:井深、綆長各幾何?
荅曰:
井深七丈二尺一寸,
甲綆長二丈六尺五寸,
乙綆長一丈九尺一寸,
丙綆長一丈四尺八寸,
丁綆長一丈二尺九寸,
戊綆長七尺六寸。
術曰:如方程〔3〕。以正負術入之。此率初如方程為之,名各一逮井。其後,法得七百二十一,實七十六,是為七百二十一綆而七十六逮井,並用逮之數。以法除實者,而戊一綆逮井之數定,逮七百二十一分之七十六〔4〕。是故七百二十一為井深,七十六為戊綆之長,舉率以言之〔5〕。
【注釋】
〔1〕綆:汲水用的繩索。《說文解字》:「綆,汲井緶也。」李籍云:綆,「汲水索」。
〔2〕逮(dài):及,及至。《說文解字》:「逮,及也。」設甲、乙、丙、丁、戊綆長與井深分別是x,y,z,u,v,w,《九章算術》的題設相當於給出線性方程組
2x+y=w
3y+z=w
4z+u=w
5u+v=w
6v+x=w。
〔3〕《九章算術》依方程術求解。然而此方程6個未知數,只能列出5行,實際上是一個不定問題,有無窮多組解。《九章算術》的編纂者未認識到這一點。
〔4〕劉徽求出戊1綆逮井之數是井深的。
〔5〕劉徽指出,以721為井深,76為戊綆長,129為丁綆長……是「舉率以言之」。這是在中國數學史上第一次明確指出不定方程問題。事實上,上述方程經過消元,可以化成:
721x=265w
721y=191w
721z=148w
721u=129w
721v=76w。
這實際上給出了
x:y:z:u:v:w=265:191:148:129:76:721。
顯然,只要令w=721n,n=1,2,3,…,都會給出滿足題設的x,y,z,u,v,w的值。《九章算術》只是把其中的最小一組正整數解作為定解。
【譯文】
假設有五家共同使用一口井,甲家的2根井繩不如井的深度,如同乙家的1根井繩;乙家的3根井繩不如井的深度,如同丙家的1根井繩;丙家的4根井繩不如井的深度,如同丁家的1根井繩;丁家的5根井繩不如井的深度,如同戊家的1根井繩;戊家的6根井繩不如井的深度,如同甲家的1根井繩。如果各家分別得到所不足的那一根井繩,都恰好及至井底。問:井深及各家的井繩長度是多少?
答:
井深是7丈2尺1寸,
甲家的井繩長是2丈6尺5寸,
乙家的井繩長是1丈9尺1寸,
丙家的井繩長是1丈4尺8寸,
丁家的井繩長是1丈2尺9寸,
戊家的井繩長是7尺6寸。
術:如同方程術那樣求解。將正負術納入之。這些率最初是如方程術那樣求解出來的,指的是各達到一次井深。其後,得到法是721,實是76。這就是721根戊家的井繩而能76次達到井底,這是合併了達到井底的次數。如果以法除實,那麼就確定了戊家1根井繩達到井底的數,達到井深的。所以把721作為井深,76作為戊家1根井繩之長,這只是用率將它們表示出來。
今有白禾二步、青禾三步、黃禾四步、黑禾五步,實各不滿斗。白取青、黃,青取黃、黑,黃取黑、白,黑取白、青各一步,而實滿斗〔1〕。問:白、青、黃、黑禾實一步各幾何?
荅曰:
白禾一步實一百一十一分斗之三十三,
青禾一步實一百一十一分斗之二十八,
黃禾一步實一百一十一分斗之一十七,
黑禾一步實一百一十一分斗之一十。
術曰:如方程。各置所取。以正負術入之。
今有甲禾二秉、乙禾三秉、丙禾四秉,重皆過於石:甲二重如乙一,乙三重如丙一,丙四重如甲一〔2〕。問:甲、乙、丙禾一秉各重幾何?
荅曰:
甲禾一秉重二十三分石之一十七,
乙禾一秉重二十三分石之一十一,
丙禾一秉重二十三分石之一十。
術曰:如方程。置重過於石之物為負〔3〕。此問者言甲禾二秉之重過於一石也。其過者何雲〔4〕?如乙一秉重矣。互言其算〔5〕,令相折除,而一以石為之差實〔6〕。差實者,如甲禾余實,故置算相與同也。以正負術入之。此入,頭位異名相除者,正無人正之,負無人負之也。
今有令一人〔7〕、吏五人〔8〕、從者一十人〔9〕,食雞一十;令一十人、吏一人、從者五人,食雞八;令五人、吏一十人、從者一人,食雞六〔10〕。問:令、吏、從者食雞各幾何?
荅曰:
令一人食一百二十二分雞之四十五,
吏一人食一百二十二分雞之四十一,
從者一人食一百二十二分雞之九十七。
術曰:如方程。以正負術入之。
今有五羊、四犬、三雞、二兔直錢一千四百九十六;四羊、二犬、六雞、三兔直錢一千一百七十五;三羊、一犬、七雞、五兔直錢九百五十八;二羊、三犬、五雞、一兔直錢八百六十一〔11〕。問:羊、犬、雞、兔價各幾何?
荅曰:
羊價一百七十七,
犬價一百二十一,
雞價二十三,
兔價二十九。
術曰:如方程。以正負術入之。
【注釋】
〔1〕設1步白禾、青禾、黃禾、黑禾之實分別是x,y,z,u,《九章算術》的題設相當於給出線性方程組
2x+y+z=1
3y+z+u=1
x+4z+u=1
x+y+5u=1。
消元中會產生負數,所以納入正負術。這也是已經討論過的情形,劉徽未出注。此問及以下三問都比較簡單,合為一組。
〔2〕甲二重如乙一:是說2秉甲禾超過1石的重量與1秉乙禾的重量相等。《九章算術》給出關係式
2x-1=y
3y-1=z
4z-1=x。
〔3〕重過於石之物:指與某種禾的重量超過1石的部分相當的那種物品。《九章算術》列出方程,相當於線性方程組
2x-y=1
3y-z=1
-x+4z=1。
〔4〕其過者何云:那超過的部分是什麼呢?
〔5〕互言其算:互相置換它們的算數。
〔6〕而一以石為之差實:謂二甲減一乙,三乙減一丙,四丙減一甲,差實都是一石也。一,都,一概。《詩·邶風·北門》:「王事適我,政事一埤益我。」朱熹註:「一,猶皆也。」
〔7〕令:官名,古代政府某機構的長官,如尚書令、大司農令等。也專指縣級行政長官。
〔8〕吏:古代官員的通稱。《說文解字》:「吏,治人者也。」漢以後特指官府中的小官和差役。
〔9〕從:隨從。李籍云:「隨也。」
〔10〕設令、吏、從者1人食雞分別是x,y,z,《九章算術》給出的方程相當於線性方程組
x+5y+10z=10
10x+y+5z=8
5x+10y+z=6。
此亦為已經討論過的類型,劉徽未出注。
〔11〕設羊、犬、雞、兔1隻的價錢分別是x,y,z,u,《九章算術》給出的方程相當於線性方程組
5x+4y+3z+2u=1 496
4x+2y+6z+3u=1 175
3x+y+7z+5u=958
2x+3y+5z+u=861。
此亦為已經討論過的類型,劉徽未出注。
【譯文】
假設有2步白禾、3步青禾、4步黃禾、5步黑禾,各種禾的實都不滿1斗。2步白禾取青禾、黃禾各1步,3步青禾取黃禾、黑禾各1步,4步黃禾取黑禾、白禾各1步,5步黑禾取白禾、青禾各1步,而它們的實都滿1斗。問:1步白禾、青禾、黃禾、黑禾的實各是多少?
答:
1步白禾的實是斗,
1步青禾的實是斗,
1步黃禾的實是斗,
1步黑禾的實是斗。
術:如同方程術那樣求解。分別布置所取的數量。將正負術納入之。
假設有2捆甲等禾,3捆乙等禾,4捆丙等禾,它們的重量都超過1石:2捆甲等禾超過1石的恰好是1捆乙等禾的重量,3捆乙等禾超過1石的恰好是1捆丙等禾的重量,4捆丙等禾超過1石的恰好是1捆甲等禾的重量。問:1捆甲等禾、乙等禾、丙等禾各重多少?
答:
1捆甲等禾重石,
1捆乙等禾重石,
1捆丙等禾重石。
術:如同方程術那樣求解。布置與重量超過1石的部分相當的那種物品,為負的。這個問題是說,2捆甲等禾的重量超過1石。那超過的部分是什麼呢?就如同1捆乙等禾的重量。互相置換它們的算數,使其互相折算,那麼都以1石作為差實。差實,如同甲等禾餘下的實,所以布置的算數都是相同的。將正負術納入之。這裡的「納入」就是,頭位的兩個數如果符號不相同,則它們的數值相減,正數如果無偶就是正數,負數如果無偶就是負數。
假設有1位縣令、5位官吏、10位隨從,吃了10隻雞;10位縣令、1位官吏、5位隨從,吃了8隻雞;5位縣令、10位官吏、1位隨從,吃了6隻雞。問:1位縣令、1位官吏、1位隨從,各吃多少只雞?
答:
1位縣令吃了只雞,
1位官吏吃了只雞,
1位隨從吃了只雞。
術:如同方程術那樣求解。將正負術納入之。
假設有5隻羊、4條狗、3隻雞、2隻兔子值錢1 496錢;4隻羊、2條狗、6隻雞、3隻兔子值錢1 175錢;3隻羊、1條狗、7隻雞、5隻兔子值錢958錢;2隻羊、3條狗、5隻雞、1隻兔子值錢861錢。問:1隻羊、1條狗、1隻雞、1隻兔子價錢各是多少?
答:
1隻羊的價錢是177錢,
1條狗的價錢是121錢,
1隻雞的價錢是23錢,
1隻兔子的價錢是29錢。
術曰:如同方程術那樣求解。將正負術納入之。
今有麻九斗、麥七斗、菽三斗、荅二斗、黍五斗,直錢一百四十;麻七斗、麥六斗、菽四斗、荅五斗、黍三斗,直錢一百二十八;麻三斗、麥五斗、菽七斗、荅六斗、黍四斗,直錢一百一十六;麻二斗、麥五斗、菽三斗、荅九斗、黍四斗,直錢一百一十二;麻一斗、麥三斗、菽二斗、荅八斗、黍五斗,直錢九十五〔1〕。問:一斗直幾何?
荅曰:
麻一斗七錢,
麥一斗四錢,
菽一斗三錢,
荅一斗五錢,
黍一斗六錢。
術曰:如方程。以正負術入之。此麻麥與均輸、少廣之章重衰、積分皆為大事〔2〕。其拙於精理徒按本術者,或用算而布氈,方好煩而喜誤,曾不知其非,反欲以多為貴。故其算也,莫不暗於設通而專於一端〔3〕。至於此類,苟務其成,然或失之,不可謂要約〔4〕。更有異術者,庖丁解牛〔5〕,遊刃理間,故能歷久其刃如新。夫數,猶刃也,易簡用之則動中庖丁之理。故能和神愛刃,速而寡尤。凡《九章》為大事,按法皆不盡一百算也〔6〕。雖布算不多,然足以算多。世人多以方程為難,或盡布算之象在綴正負而已,未暇以論其設動無方。斯膠柱調瑟之類〔7〕。聊復恢演,為作新術〔8〕,著之於此,將亦啟導疑意。網羅道精〔9〕,豈傳之空言?記其施用之例,著策之數,每舉一隅焉〔10〕。方程新術曰:以正負術入之。令左、右相減,先去下實,又轉去物位,則其求一行二物正、負相借者,是其相當之率〔11〕。又令二物與他行互相去取,轉其二物相借之數,即皆相當之率也。各據二物相當之率,對易其數,即各當之率也〔12〕。更置成行及其下實〔13〕,各以其物本率今有之,求其所同,並以為法。其當相併而行中正負雜者,同名相從,異名相消,余以為法。以下置為實〔14〕。實如法,即合所問也〔15〕。一物各以本率今有之,即皆合所問也〔16〕。率不通者,齊之〔17〕。其一術曰〔18〕:置群物通率為列衰〔19〕。更置成行群物之數,各以其率乘之,並以為法。其當相併而行中正負雜者,同名相從,異名相消,余為法。以成行下實乘列衰,各自為實。實如法而一,即得〔20〕。以舊術為之〔21〕,凡應置五行〔22〕。今欲要約。先置第三行,減以第四行〔23〕,又減第五行〔24〕;次置第二行,以第二行減第一行〔25〕,又減第四行〔26〕,去其頭位;余,可半〔27〕;次置右行及第二行,去其頭位〔28〕;次以右行去第四行頭位〔29〕;次以左行去第二行頭位〔30〕;次以第五行去第一行頭位〔31〕;次以第二行去第四行頭位;余,可半〔32〕;以右行去第二行頭位〔33〕;以第二行去第四行頭位〔34〕。余,約之為法、實,實如法而一,得六,即有黍價〔35〕。以法治第二行,得荅價〔36〕,右行得菽價〔37〕,左行得麥價〔38〕,第三行麻價〔39〕。如此凡用七十七算〔40〕。以新術為此〔41〕:先以第四行減第三行〔42〕。次以第三行去右行及第二行、第四行下位〔43〕。又以減左行下位,不足減乃止〔44〕。次以左行減第三行下位〔45〕。次以第三行去左行下位。訖,廢去第三行〔46〕。次以第四行去左行下位,又以減右行下位〔47〕。次以右行去第二行及第四行下位〔48〕。次以第二行減第四行及左行頭位〔49〕。次以第四行減左行菽位,不足減乃止〔50〕。次以左行減第二行頭位,余,可再半〔51〕。次以第四行去左行及第二行頭位〔52〕。次以第二行去左行頭位。余,約之,上得五,下得三,是菽五當荅三〔53〕。次以左行去第二行菽位,又以減第四行及右行菽位,不足減乃止〔54〕。次以右行減第二行頭位,不足減乃止〔55〕。次以第二行去右行頭位〔56〕。次以左行去右行頭位。余,上得六,下得五。是為荅六當黍五〔57〕。次以左行去右行荅位。余,約之,上為二,下為一〔58〕。次以右行去第二行下位〔59〕,以第二行去第四行下位,又以減左行下位〔60〕。次,左行去第二行下位。余,上得三,下得四。是為麥三當菽四〔61〕。次以第二行減第四行下位。次以第四行去第二行下位。余,上得四,下得七,是為麻四當麥七〔62〕。是為相當之率舉矣〔63〕。據麻四當麥七,即麻價率七而麥價率四〔64〕;又麥三當菽四,即為麥價率四而菽價率三〔65〕;又菽五當荅三,即為菽價率三而荅價率五〔66〕;又荅六當黍五,即為荅價率五而黍價率六〔67〕;而率通矣〔68〕。更置第三行,以第四行減之,余有麻一斗、菽四斗正,荅三斗負,下實四正〔69〕。求其同為麻之數,以菽率三、荅率五各乘其斗數,如麻率七而一,菽得一斗七分斗之五正,荅得二斗七分斗之一負。則菽、荅化為麻〔70〕,以並之,令同名相從,異名相消,余得定麻七分斗之四,以為法。置四為實,而分母乘之,實得二十八,而分子化為法矣。以法除得七,即麻一斗之價〔71〕。置麥率四、菽率三、荅率五、黍率六,皆以麻乘之,各自為實。以麻率七為法,所得即各為價〔72〕。亦可使置本行實與物同通之,各以本率今有之,求其本率所得〔73〕,並,以為法〔74〕。如此,即無正負之異矣〔75〕,擇異同而已〔76〕。 又可以一術為之〔77〕:置五行通率,為麻七、麥四、菽三、荅五、黍六以為列衰〔78〕。成行麻一斗、菽四斗正,荅三斗負〔79〕,各以其率乘之,訖,令同名相從,異名相消,余為法。又置下實乘列衰,所得各為實〔80〕。此可以置約法,則不復乘列衰,各以列衰為價〔81〕。如此則凡用一百二十四算也〔82〕。
【注釋】
〔1〕設1斗麻、麥、菽、荅、黍的實分別是x,y,z,u,v,《九章算術》給出的方程相當於線性方程組
9x+7y+3z+2u+5v=140
7x+6y+4z+5u+3v=128
3x+5y+7z+6u+4v=116
2x+5y+3z+9u+4v=112
x+3y+2z+8u+5v=95。
〔2〕重衰:指均輸章用連鎖比例求解的各個問題的方法。 積分:指少廣章開方及開立方問題。
〔3〕暗於設通:不通曉全面而通達。暗,不通曉,不明白,不了解。
〔4〕約(yào):要領,關鍵。《孟子·公孫丑上》:「然而孟施捨守約也。」焦循正義曰:「約之訓為要,於眾道之中得其大,是得其要也。」
〔5〕庖(páo)丁解牛:是《莊子·養生主》中的一則寓言,雲「庖丁為文惠君解牛,手之所觸,肩之所倚,足之所履,膝之所踦,砉然向然,奏刀然,莫不中音」。文惠君曰:「善哉!技蓋至此乎?」庖丁對曰:「臣之所好者,道也,進乎技矣。……方今之時,臣以神遇而不以目視,官知止而神欲行。……今臣之刀十九年矣,所解數千牛矣,而刀刃若新發於硎。彼節者有間,而刀刃者無厚。以無厚入有間,恢恢乎其於遊刃必有餘地矣,是以十九年而刀刃若新發於硎。」庖,廚房。又作廚師,如越俎代庖。
〔6〕不盡:不能窮盡。盡,完,竭。
〔7〕膠柱調瑟:如果用膠黏住瑟的弦柱,就無法調節音調,以比喻拘泥不知變通。又作「膠柱鼓瑟」。瑟,古代的撥弦樂器,如圖8-6,春秋時已流行。形似古琴,但無徽位,通常25弦,每弦一柱,鼓瑟者轉動弦柱,以調節樂音。
圖8-6 瑟
(采自明王圻《三才圖會》)
〔8〕聊復恢演,為作新術:姑且展開演算,為之創造新的方法。聊,姑且,暫且,勉強。《詩經·檜風·素冠》:「我心傷悲兮,聊與子同歸兮。」鄭玄箋:「聊,猶且也。」復,助詞。聊復,姑且。南朝劉義慶《世說新語》有「未能免俗,聊復爾耳」之語,在劉徽之後矣。恢,張布,展開。不過李籍云:恢,「大也」。演,演算。不過李籍云:演,「廣也」。劉徽提出的方程新術包括兩種程序,一種是以今有術求解,即方程新術本術。一種以衰分術求解。
〔9〕網羅:搜羅。 道精:道理的精髓。
〔10〕每舉一隅:舉一反三。此實際上是方程新術的序,闡發了劉徽關於數學方法的精闢見解。
〔11〕其求一行二物正、負相借者,是其相當之率:由此求出一行中兩種物品以正、負表示的互相借取的數,就是它們的相當之率。其,訓「以」。相當之率,與相與之率相反的率關係。對易相當之率的兩數,就變成相與之率。比如某行消成
bx-ay=0 a>0,b>0
那麼b,a分別是x,y的相當之率,則
x:y=a:b
a,b就是x,y的相與之率。各行的相與之率,通過通而同之,就求出了所有未知數的相與之率。
〔12〕各當之率:即相與之率。自「令左右行相減」至此,是方程新術的第一步,即求諸未知數的相與之率。其方法就是將方程的每一行都消去下實,再消去某些未知數,使每一行只剩兩個未知數,所謂「一行二物正、負相借者」,得出諸未知數的相當之率。根據相當之率,對易其數,成為相與之率。
〔13〕更置成行及其下實:重新布置所確定的一行及其下方的實。成,訓「定」。成行,指所確定的一行。
〔14〕以下置為實:以下方所布置的數作為實。
〔15〕這是方程新術的第二步:求一個未知數的值。選定成行,即上述確定的一行,利用諸未知數的相與之率,藉助今有術,將各未知數化成同一個未知數。各項係數相加,作為法。以成行之下實作為實。實除以法,即得該未知數之值。設諸未知數為x1,x2,…,xn,已求出諸未知數的相與之率
x1:x2:…:xn=m1:m2:…:mn,
成行為
a1x1+a2x2+…+anxn=A。
若先求xj,則由今有術,,i=1,2,…,n,i≠j。由此,成行化為
或
於是A作為實,作為法,則
成行是相消過程中確定的一行,亦可使用相消前方程的任意一行。當然,使用成行會簡單一點。
〔16〕這是方程新術的第三步,即求其他未知數的值,i=1,2,…,n,i≠j。
〔17〕率不通者,齊之:第一步所求出的諸未知數的兩兩相與之率不一定互相通達,便使用齊同術,使諸率悉通。
〔18〕其一術:是方程新術的另一種方法。即在求出諸未知數的相與之率後,以其為列衰,用衰分術求解。
〔19〕通率:諸未知數的相與之率。通率在應用衰分術時作為列衰。
〔20〕劉徽的其一術是:在成行中,以諸未知數之率乘各自的係數,相加,得,作為法。以未知數之率乘下實,得Amj,j=1,2,…,n,作為實。則
〔21〕舊術:這裡的「舊術」不是《九章算術》的方程術,而是劉徽將直除法進行到底的那種方法。參見方程術劉徽注。
〔22〕行、列仍按古代的意義,而以阿拉伯數字記算籌數字,則此5行方程如圖8-7(1)。此為1算。
圖8-7
〔23〕先置第三行,減以第四行:以第4行減第3行。
〔24〕又減第五行:又去減第5行。由於位值制,這裡是以第3行減去第4行後新的第3行去減第5行,第5行頭位變為0,其方程如圖8-7(2)。此共3算。
〔25〕次置第二行,以第二行減第一行:再布置第2行,以第2行減第1行。
〔26〕又減第四行:這裡仍然是以第2行減第1行之後新的第1行減第4行。
〔27〕去其頭位;余,可半:消去第4行的頭位;剩餘的整行,可以被2整除,便除以2。如圖8-7(3)。以上共4算。
〔28〕次置右行及第二行,去其頭位:此謂布置右行及第2行,分別以第3行二度減、七度減,其頭位均變為0,如圖8-7(4)。此共11算。
〔29〕次以右行去第四行頭位:此謂布置第4行,以右行二度減第4行,第4行頭位變為0(頭位均就有效數字而言),如圖8-7(5)。此共3算。
〔30〕次以左行去第二行頭位:此謂布置第2行,以左行二度減第2行,第2行頭位變為0,如圖8-7(6)。此共3算。
〔31〕次以第五行去第一行頭位:此謂布置第1行,以第5行頭位3遍乘第1行,減去第5行,第1行頭位變為0,如圖8-7(7)所示。此共3算。
〔32〕次以第二行去第四行頭位;余,可半:此謂布置第4行,將第2行加於第4行,並整行除以2。第4行頭位變為0。如圖8-7(8)。此共3算。
〔33〕以右行去第二行頭位:此謂布置第2行,以右行頭位25遍乘第2行,二十度減右行,第2行頭位變為0。如圖8-7(9)所示。此共21算。
〔34〕以第二行去第四行頭位:此謂布置第4行,以第2行頭位遍乘第4行,二度減第2行,則第4行頭位變為0。第4行僅有黍的係數及下實。如圖8-7(10)。此共4算。
〔35〕此謂以等數62約間第4行,作為法、實。實除以法,得1斗黍為6錢。此共2算。
〔36〕將黍價1斗6錢代入第2行,減實,約簡,得1斗荅為5錢。此共3算。
〔37〕這裡將黍、荅價代入右行,從實中減去,約簡,得1斗菽為3錢。此共5算。
〔38〕這裡將黍、荅、菽價代入左行,從實中減去,約簡,得1斗麥為4錢。此共7算。
〔39〕將菽、荅價代入第3行,從實中減去,得1斗麻為7錢。此共4算。
〔40〕一算即一次運算,如布算,以某數乘或除某一整行,行與行的一度減,實除以法,等等,都是一次運算。以上共77次運算。
〔41〕這是劉徽用方程新術解麻麥問的細草。
〔42〕在圖8-7(1)中,使第4行減第3行,其結果如圖8-8(1)所示。
圖8-8
〔43〕以第3行減右行、第2行、第4行,直到它們的下位(實)變為0,如圖8-8(2)所示。
〔44〕又以第3行減左行,以消減左行下位(實),直到不足減為止,其方程如圖8-8(3)所示。
〔45〕以左行減第3行,以消減其下位,如圖8-8(4)所示。
〔46〕以第3行減左行,直到其下位變為0。然後廢去第3行,其餘四行的下位變為0,如圖8-8(5)所示。以下的程序是消去物位。
〔47〕以第4行(仍是原來的序號)減左行,直到其下位變為0;又以第4行減右行,消減其下位;如圖8-8(6)。
〔48〕以右行減第2行、第4行,直到其下位變為0,如圖8-8(7)。
〔49〕以第2行減第4行、左行,以消減其頭位,如圖8-8(8)。
〔50〕以第4行減左行,以消減其菽位(第3位),直到不足減為止,如圖8-8(9)所示。
〔51〕以左行加第2行,以消減其頭位(絕對值)。剩餘的第2行整行,除以4。如圖8-8(10)所示。
〔52〕以第4行加左行,減第2行,直到其頭位變為0,如圖8-8(11)。
〔53〕以第2行加左行,直到其頭位變為0。左行之剩餘,上為-310,下為186,以等數62約簡,上為-5,下為3。這表示菽5相當於荅3。如圖8-8(12)所示。
〔54〕以左行減第2行,直到其菽位變為0。又以左行加第4行,減右行,直到菽位不足減為止,如圖8-8(13)所示。
〔55〕以右行減第2行,直到頭位不足減為止,如圖8-8(14)所示。
〔56〕以第2行減右行,直到頭位變為0,如圖8-8(15)所示。
〔57〕以左行減右行,直到頭位變為0。上為-6,下為5。這表示荅6相當於黍5,如圖8-8(16)所示。
〔58〕以左行加右行,直到荅位變為0。右行上為-10,下為5,以等數5約簡,上為-2,下為1,如圖8-8(17)所示。
〔59〕以右行加第2行,直到其下位變為0,如圖8-8(18)所示。
〔60〕以第2行加第4行,其下位變為0。又以第2行加左行,消減其下位,如圖8-8(19)所示。
〔61〕以左行加第2行,直到其下位變為0。上得-3,下得4。這表示麥3相當於菽4,如圖8-8(20)所示。
〔62〕以第2行減第4行,消減其下位。以第4行減第2行,直到其下位變為0。第2行上為4,下為-7。這表示麻4相當於麥7。如圖8-8(21)所示。
〔63〕諸物的相當之率:麻4相當於麥7,麥3相當於菽4,菽5相當於荅3,荅6相當於黍5。
〔64〕此由麻4相當於麥7得出:麻:麥=7:4。
〔65〕此由麥3相當於菽4得出:麥:菽=4:3。
〔66〕此由菽5相當於荅3得出:菽:荅=3:5。
〔67〕此由荅6相當於黍5得出:荅:黍=5:6。
〔68〕由於麻與麥,麥與菽,菽與荅,荅與黍的四組率中,麥、菽、荅的率已分別相等,故不必再進行齊同,直接得出
麻:麥:菽:荅:黍=7:4:3:5:6,
或
x:y:z:u:v=7:4:3:5:6。
〔69〕此謂重新布置第3行,以第4行減第3行,得到圖8-7(11)中的第3行,它相當於
x+4z-3u=4。
〔70〕欲先求1斗麻(x)之價,需根據菽(z)、荅(u)與麻的相與之率,求菽、荅同為麻之數,即將z,u化為x,得
〔71〕由上條注釋得到
所以1斗麻之價x=7。
〔72〕這是說根據已得到的麻價,利用已求出的麻、麥、菽、荅、黍各價的相與率,援引今有術,求出麥、菽、荅、黍諸價
〔73〕此謂也可以布置本來的行,將諸物與實同而通之,求其本率所對應的結果。這裡「本行」不是用兩行對減所得到的行,而是指原方程的任一行,比如左行,它相當於
x+3y+2z+8u+5v=95。
由諸未知數的相與之率,利用今有術,將其化成同一未知數,比如x,則
〔74〕於是
以作為法,求出x,即麻價7。
〔75〕無正負之異:沒有正負數的加減問題。
〔76〕擇異同而已:只是選擇所同於的穀物罷了。
〔77〕此是以上述「其一術」解麻麥問的細草,它歸結到衰分術。
〔78〕以麻、麥、菽、荅、黍的相與之率作為列衰。即
m1:m2:m3:m4:m5=7:4:3:5:6。
〔79〕這裡以第4行減第3行,得到圖8-7(11)中的第3行為成行,它相當於
x+4z-3u=4。
〔80〕這裡法為;諸未知數的實為
麻的實Am1=4×7,
麥的實Am2=4×4,
菽的實Am3=4×3,
荅的實Am4=4×5,
麻的實Am5=4×6。
〔81〕各以列衰為價:分別以列衰作為價格。此術用衰分術求解。一般情況下,以下實乘列衰各為實,成行中的係數分別以列衰乘之,並為法,實如法,各得所求。然此問恰巧「下實」與「法」相等,可以約法,故不必以下實乘列衰,徑以列衰作為所求數即可。
〔82〕劉徽認為,以方程新術計算,需124算,比使用方程舊術的77算多。劉徽提出方程新術的意圖在於說明同一類數學問題,可以用不同的方法解決。
【譯文】
假設有9斗麻、7斗小麥、3斗菽、2斗荅、5斗黍,值140錢;7斗麻、6斗小麥、4斗菽、5斗荅、3斗黍,值128錢;3斗麻、5斗小麥、7斗菽、6斗荅、4斗黍,值116錢;2斗麻、5斗小麥、3斗菽、9斗荅、4斗黍,值112錢;1斗麻、3斗小麥、2斗菽、8斗荅、5斗黍,值95錢。問:1斗麻、小麥、菽、荅、黍各值多少錢?
答:
1斗麻值7錢,
1斗小麥值4錢,
1斗菽值3錢,
1斗荅值5錢,
1斗黍值6錢。
術:如同方程術那樣求解。將正負術納入之。此麻麥問與均輸章的重衰、少廣章的積分等都是重要問題。那些對數理的精髓認識膚淺,只知道按本來方法做的人,有時為了布置算數而鋪下氈毯,正是喜好煩瑣而導致錯誤,竟然不知道這樣做不好,反而想以布算多為貴。所以他們都不通曉全面而通達的知識而拘泥於一孔之見。至於此類做法,即使努力使其成功,然而有時會產生失誤,不能說是抓住了關鍵。更有一種新異的方法,就像是庖丁解牛,使刀刃在牛的肌理間遊動,所以能歷經很久其刀刃卻像新的一樣。數學方法,就好像是刀刃,遵從易簡的原則使用之,就常常正合於庖丁解牛的道理。所以只要能和諧精神,愛護刀刃,就會做得迅速而錯誤極少。凡是《九章算術》中成為大的問題,按方法都不足100步計算。雖然布算不多,然足以計算很複雜的問題。世間的人大都把方程術看得很難,或者認為布算之象只不過在點綴正負數而已,沒有花時間討論它們的無窮變換。這是膠柱調瑟那樣的事情。我姑且展示演算,為之創作新術,撰著於此,只不過是想啟發開導疑惑之處。搜羅數理的精髓,豈能只說空話?我記述其施用的例子,運算的方法,在這裡只舉其一隅而已。
方程新術:將正負術納入之。使左、右相減,先消去下方的實,又轉而消去某些位置上的物品,則由此求出某一行中二種物品以正、負表示的互相借取的數,就是它們的相當之率。又使此二種物品的係數與其他行互相去取,轉而求出那些行的二種物品的互相借取之數,則全都是相當之率。分別根據二種物品的相當之率,對易其數,那麼就是它們分別對應的率。重新布置那確定的一行及其下方的實,分別以各種物品的本率應用今有術,求出各物同為某物的數,相加,作為法。如果其中應當相加而行中正負數相混雜的,那麼同一符號的就相加,不同符號的就相消,餘數作為法。以下方布置的數作為實。實除以法,便應該是所問的那種物品的數量。每一種物品各以其本率應用今有術,便都應該是所問的物品的數量。其中如果有互相不通達的率,就使它們相齊。
其一術曰:布置所有物品的通率,作為列衰。重新布置那確定的一行各個物品之數,各以其率乘之,相加,作為法。如果其中有應當相加而行中正負數相混雜的,那麼同一符號的就相加,不同符號的就相消,餘數作為法。以確定的這行下方的實乘列衰,各自作為實。實除以法,即得到答案。
用舊的方程術求解之,共應該布置五行。現在想抓住問題的關鍵,並使之簡約。先布置第三行,減去第四行,又減第五行;再布置第二行,以第二行減第一行,又減第四行,消去它的頭位;剩餘的整行,可以被2整除;再布置右行及第二行,消去它們的頭位;再以右行消去第四行的頭位;再以左行消去第二行的頭位;再以第五行去第一行的頭位;再以第二行消去第四行的頭位;剩餘的整行,可以被2整除;以右行消去第二行的頭位;以第二行消去第四行的頭位。剩餘的整行,約簡,作為法、實,實除以法,得6,就是1斗黍的價錢。分別以法處理,第二行得到1斗荅的價錢,右行得到1斗菽的價錢,左行得到1斗麥的價錢,第三行得到1斗麻的價錢。這樣做,共用了77步運算。
以方程新術解決這個問題:先以第四行減第三行。再以第三行消去右行及第二行、第四行的下位。又以第三行消減左行,直到其下位不足減才停止。再以左行減第三行,消減其下位。再以第三行消去左行的下位。完了,廢去第三行。再以第四行消去左行的下位,又以第四行減右行,消減其下位。再以右行消去第二行及第四行的下位。再以第二行減第四行及左行,消減它們的頭位。再以第四行減左行,直到其菽位不足減才停止。再以左行減第二行,消減其頭位,其剩餘的行,可以兩次被2整除。再以第四行加左行,減第二行,消去它們的頭位。再以第二行加左行,消去其頭位。餘數,約簡之,上方得到5,下方得到3,這就是菽5相當於荅3。再以左行減第二行,消去其菽位,又以左行加第四行,減右行,消減其菽位,直到不足減才停止。再以右行減第二行,直到其頭位不足減才停止。再以第二行消去右行的頭位。再以左行消去右行的頭位。餘數,上方得到6,下方得到5。這就是荅6相當於黍5。再以左行加右行,消去其荅位。餘數,約簡之,上方為2,下方為1。再以右行加第二行,消去其下位,再第二行加第四行,消去其下位,又以第二行加左行,消減其下位。再以左行加第二行,消去其下位。餘數,上方得到3,下方得到4。這就是麥3相當於菽4。再以第二行減第四行,消減其下位。再以第四行減第二行,消去其下位。餘數,上方得到4,下方得到7。這就是麻4相當於麥7。這樣,各種穀物的相當之率都列舉出來了。根據麻4相當於麥7,就是麻價率是7而麥價率是4;又根據麥3相當於菽4,就是麥價率是4而菽價率是3;又根據菽5相當於荅3,就是菽價率是3而荅價率是5;又根據荅6相當於黍5,就是荅價率是5而黍價率是6;因而諸率都互相通達了。重新布置第三行,以第四行減之,余有1斗麻、4斗菽,都是正的,3斗荅,是負的,下方的實4,是正的。求出它們同為麻的數,就以菽率3、荅率5各乘菽、荅的斗數,除以麻率7,得到菽為斗,是正的,得到荅為斗,是負的。那麼菽、荅都化成了麻,將它們相加,使同一符號的相加,不同符號的相消,那麼確定麻的餘數是斗,作為法。布置4作為實,而以分母乘之,得到實為28,而分子化為法。以法除,得到7,就是1斗麻的價錢。布置麥率4、菽率3、荅率5、黍率6,皆以1斗麻的價錢乘之,各自作為實。以麻率7作為法,實除以法,所得就是各種穀物的價錢。也可以布置原來某一行的實與諸穀物的斗數,將它們同而通之,分別以其本率,應用今有術,求其本率所相應的某穀物的數,相加,作為法。這樣做,就沒有正負數的差異了,只是選擇它們所同於的穀物罷了。 又可以用另一術求解它:布置五行的通率,就是麻7、麥4、菽3、荅5、黍6,作為列衰。取確定的一行:1斗麻、4斗菽,是正的,3斗荅,是負的,分別以它們各自的率乘之。完了,使它們符號相同的就相加,符號不同的就相消,餘數作為法。又布置下方的實乘列衰,所得分別作為實。而在這一問題中,下方布置的實可以與法互約,則不再乘列衰,分別以列衰作為1斗的價錢。這樣做,共用了124步運算。