书城科普读物古代数学与物理学
45718700000012

第12章 算经十书

唐初作为“算学”教科书的十部算书,除了《周髀算经》、《九章算术》、《海岛算经》、《缀术》以外,在中国数学史上甚有影响的还有《孙子算经》、《张邱建算经》和《缉古算经》等三部。其余的三部,即《五曹算经》、《五经算术》和《夏候阳算经》则影响较小。下面,对前面没有提及的算书作补充介绍。

《孙子算经》约成书于四、五世纪,作者履历和编写年代都不清楚,现在传本的《孙子算经》共三卷。卷上叙述算筹记数的纵横相间制度和筹算乘除法则,卷中举例说明筹算分数算法和筹算开平方法,都是考证的绝好资料。书中载市易、田域、仓窖、兽禽、营造、赋役、测望、军旅等各类算题64问,大都浅近易晓,但不少问题趣味性强,解题方法独特,对后世有很大的影响。例如,“鸡兔同笼问题”、“出门望九堤问题”、“妇人荡杯问题”都是流传世界的数学趣题。

对数学发展影响最大的是“物不知数问题”:

“今有物不知其数,三三数之賸(剩)二,五五数之賸三,七七数之賸二,问物几何?”“答曰,二十三。”

用现代的同余式符号表示是,设N≡2(mod3)≡3(mod5)≡2(mod7),求最小正整数N,答案是N=23.

书中给出了问题的解法:

N=70×2 21×3 15×2-2×105=23

并指出了对下列一次同余式组

N=R1(mod3)≡R2(mod5)≡R3(mod7)

的一般解法是:

N≡70R1 21R2 15R3-105P,P为正整数

至于70、21、15这三数字的来源,书中没有交待,这就引出了后人的种种猜测和研究。

适当分析后可以发现,70、21、“这三个数具有以下特点:

70=2·×3×5×73=2×35=1(mod3)

21=1·×3×5×75=1×21=1(mod5)

15=1·×3×5×77=1×15=1(mod7)

即70、21、15这三个数满足下列条件:

①它们分别是5×7、3×7、3×5的倍数

②分别用3、5、7除,余数都是1

于是选用70、21、15这三个数的问题,实质上就是找三个这样的数:它们分别乘上35、21、15后所得的结果,各自被3、5、7除,所得的余数为1.在这里就是2、1、1三个数。了解了这一情况,就可以把“物不知数问题”的解法一般化,得出一个解一次同余问题的普遍方法。

设A、B、C是两两互素的正整数,R1、R2、R3分别为小于A、B、C的正整数,且

N≡R1(mod A)≡R2(mod B)≡R3(mod C)如果我们找到三个正整数α,β,γ满足下列同余式

αBC≡1(mod A),βAC≡1(mod B),γAB≡1(mod C)那么,N≡R1αBC R2βAC R3γAB(mod ABC)

这就是闻名于世的“孙子剩余定理”,它的完整阐述是我国南宋数学家秦九韶作出的。

“物不知数题”引起人们很大的兴趣。人们知道解题的关键是在找三个与1同余的乘积,所以好些人为作诗歌以助记忆,宋人周密(1232—1295年)对物不知数题的术文中所载的四个乘积作隐语诗道:

三岁孩七十稀,五留廿一事尤奇,

七度上元重相会(上元,元宵节,正月十五,影射15),寒食清明便可知(寒食,指清明节前一天,至后一百零五天是清明前后,影射105)。

明代程大位《算法统宗》则把70,21,15,105这四个数以诗歌形式,和盘托出:

三人同行七十稀,五树梅花廿一枝,

七子团圆正月半,除百零五便得知。

秦九韶则进一步开创了对一次同余式理论的研究工作,他提出的大衍术即孙子剩余定理成为中国数学中的一颗明珠。

《张邱建算经》这也是公元四五世纪写成的一本算书。钱宝琮先生考证它成书于484年以后。传本《张邱建算经》三卷是依据南宋刻本辗转翻印的,共92个问题,各有各的数学意义,有些创设的问题和解法超出了《九章算术》的范围。本书在中国数学史上具有特殊地位。

比较突出的成就有最大公约数与最小公倍数的计算;各种等差数列问题的解法;某些不定方程问题求解等。

《张邱建算经》卷上第10题说:

“今有环山道路一周长325里,甲乙丙三人环山步行,已知他们每天分别能步行150、120、90里,如果步行不间断,问从同一起点出发,多少天后再相遇于出发点?”答数是1056日。

按张邱建的解法是:

[325150、325120、32590]=325(150,120,90)=32530=1056

它相当于给出了最小公倍数与最大公约数之间的关系:

[ea,eb,ec]=ed=e(a,b,c)

书中通过五个具体例子,分别给出了求公差、求总和、求项数的一般步骤即公式。其中

已知首项a1、末项an及项数n求总和S的计算公式是:

Sn=a1 an2·n

已知首项a1、总和S以及项数n,求公差的计算公式是:

d=2Sn-2an-1

已知首项a1、公差d以及n项的平均数刚m,求项数n的计算公式是:

n=[2(m-a) d]÷d

自张邱建以后,中国对等差数列的计算日益重视,特别是在天文学和堆叠求积等问题的推动下,使得对一般的等差数列的研究,发展成对高阶等差数列的研究。

百鸡问题是《张邱建算经》中的一个著名的数学趣题,它给出了由三个未知量的两个方程组成的不定方程组的解。百鸡问题是:

“今有鸡翁一,值钱五;鸡母一,值钱三;鸡雏三,值钱一。凡百钱买鸡百只,问鸡翁母雏各几何?”

若设鸡翁、母、雏的只数依次为x,y,z,依题意有

x y z=100

5x 3y 13z=100

三个未知量两个方程,所以是不定方程。《张邱建算经》给出三个整数解:

x=4

y=18

z=78x=8

y=11

z=81x=12

y=14

z=84

但解题方法没有详细说出,只写“鸡翁每增四,鸡母每减七,鸡雏每益三,即得。”

自张邱建以后,中国数学家对百鸡问题的研究不断深入,“百鸡问题”也几乎成了不定方程的代名词,从宋代到清代围绕百鸡问题的数学研究取得了很好的成就。

《缉古算经》这是唐初算学博士王孝通的著作。全书一卷,载20个数学问题,集中介绍了用开带从立方法(求三次方程的正根),解决实际计算问题。其中第l题是用比例知识来确定月球对太阳的相对位置问题。第2~6题及第8题是土木建筑和水利工程中的挖土、填土计算问题。第7及第9~14题是在存储粮食仓库或挖地窖中所产生的高次方程问题。第15~20题是有关解直角三角形问题。

《缉古算经》中的列方程方法技巧性很强,如第15题,已知直角三角形两条直角边的乘积ab=70615,弦长与勾长之差c-a=36910,求a,b,c。王孝通的解法相当于列出三次方程:x3 c-a2x2=2(ab)2(c-a)即x3 1845100x2=67542581000

求它的正根。得x=14720,就是a。于是,c=14720 36910=5114,b=706150÷14720=4915.

上面这个三次方程是怎样列出来的呢?根据王孝通的“自注”:“勾股相乘幂自乘即勾幂乘股幂之积。故以倍勾弦差而一,得一勾与半差,再乘勾幂为实,故半差为廉从。开立方除之。”用符号来表示,即:

因为(ab)2=a2b2

又a2b22(c-a)=a2(c2-a2)2(c-a)=a2c a2=a2(a c-a2)

故a3 c-a2a2=(ab)22(c-a)

作者先认定a为所求的未知数,利用勾股算术把b22(c-a)表示作a c-a2,然后列出解题的“开方”式子。这种思想过程本来相当复杂,又完全用文字说明,是不容易使一般读者体会的。在宋代增乘开方法发明以后,数学家要克服“造术”的困难,终于找到了列方程的窍门——天元术。有了天元术,中国数学才获得新的发展。