《算经十书》是唐代以前10本中国古典数学经典著作的总称,不过,由于失传与增补或重新发现等原因,不同的时代所指略有不同.
大唐盛世是中国封建社会最繁荣的时代.只是与经济发展不相称的是这一时期没有产生数学大家,其数学成果远不及其前魏、晋、南北朝和其后的宋、元时期.但是另一方面,数学教育制度的建立和数学典籍的整理是这一时期的两项重要工作,在中国数学的发展史上还是起到了重要作用.
比如,7世纪初,隋代开始在国子监中设立“算学”,并“置博士、助教、学生导员”,这是中国封建教育中数学专科教育的肇端,唐代不仅沿袭了“算学”制度,而且进一步强化在科举考试中开设了数学科目,叫“明算科”,考试及第者也可以做官,不过只授予最低官阶.
大约于唐代初年,数学家李淳风(604~672)奉唐高宗之诏校注唐代之前的10部算书.于公元656年编成之后,作为国子监明算科的标准数学教科书.称为《算经十书》,这《算经十书》是指:《周髀算经》、《九章算术》、《海岛算经》、《孙子算经》、《五曹算经》、《夏候阳算经》、《张邱建算经》、《缀术》、《五经算术》和《缉古算经》等.其中最重要的几部算经是:《周髀算经》、《九章算术》、《缀术》(祖冲之)、《孙子算经》、《张邱建算经》(张邱建)、《缉古算经》(王孝通),其中包含了一些重要的数学成就和一些著名的数学问题.
9.3.1 “物不知其数”与中国剩余定理
《孙子算经》成为流传千古的著名数学典籍,主要在于其中算题的趣味性及其解法巧妙,如著名的“鸡兔同笼”问题:“今有鸡兔同笼,上有三十五头,下有九十四足,问鸡兔各几何?”书中给出的算法过程是这种解法颇为奇妙,算法程序简单,很有特色.
1.“物不知其数”问题
《孙子算经》中另一个重要问题是举世闻名的“孙子定理”,该定理载于《孙子算经》卷下第26题,全文是:“今有物不知其数,三三数之剩二,五五数之剩三,七七数之剩二,问物几何?”术曰:三三数之剩二,置一百四十,五五数之剩三,置六十三,七七数之剩二,置三十,并之,得二百三十三,以二百一十减之,即得.凡三三数之剩一,则置七十,五五数之剩一,则置二十一,七七数之剩一,则置十五,即得.
用现代设未知数列方程的办法求解,那么上述相当于求不定方程
N=3x+2,N=5y+3,N=72+2
的整数解,在数记中,相当于求解一次同余式组
N≡2(mod3)≡3(mod5)≡2(mod7)
求最小数N.
《孙子算经》不仅给出了这道题的答数23,而且还给出了对该题的一个巧妙的解法,即解法用算式表示是
N=70×2+21×3+15×2-2×105
《孙子算经》大约是公元4~5世纪的作品,这个解法,后来的数学家还编成了歌诀,例如宋代的一本笔记中有三岁孩儿七十稀,五留业一事尤奇,七度上元重相会,寒食清明便可知.(注:上元,指农历正月十五,就是元宵节,古称上元节,暗指15,历书上有“冬至百六是清明”清明节前一日称为寒食节,“寒食节”暗指105,这四句诗就是上述的解题方法).16世纪,程大位所著《算法统宗》把这个解法以另一歌诀形式表述出来,即:三人同行七十稀,五树梅花二十一支,七子团圆正半月,除百零五便得知.
用现代数学语言叙述就是:一个数用3除,除得的余数乘以70;用5除,除得的余额乘以21;用7除,除得的余数乘以15,最后把这些乘积加起来再减去105的倍数就知道这个数是多少.
《孙子算经》的答案为23,其实应当有无数个答案,例如128,151,…,都是,不过23是最小的.它们是怎样求出来的?《孙子算经》中对这个问题的算法是
70×2+21×3+15×2=233
相当于
X≡70×2+21×3+15×2=233≡23(mod105)
233-105-105=23
所以这类数最少是23个.
2.算法分析
下面简单分析上述算法:因为设该数为N(满足条件的最小正整数).
N被5、7整除,而被3除余1的最小正整数是70;
N被3、7整除,而被5除余1的最小正整数是21;
N被3、5整除,而被7除余1的最小正整数是15.
所以,这三个数的和为15×2+21×3+70×2,必然具有被3除余2,被5除余3,被7除余2的性质.
因为:被3、5整除,而被7除余1的最小正整数是15;
被3、7整除,而被5除余1的最小正整数是21;
被5、7整除,而被3除余1的最小正整数是70.
所以,被3、5整除,而被7除余2的最小正整数是15×2=30;
被3、7整除,而被5除余3的最小正整数是21×3=63;
被5、7整除,而被3除余2的最小正整数是70×2=140.
于是和数为15×2+21×3+70×2,必具有被3除余2,被5除余3,被7除余2的性质.但所得结果233(30+63+140=233)不一定是满足上述性质的最小正整数,故从它中减去3、5、7的最小公倍数105的若干倍,直到差小于105为止,即233-105-105=23,所以23就是被3除余2,被5除余3,被7除余2的最小正整数.
程大位给出的上述四句歌诀,实际上是特殊情况下给出了一次同余式组解的定理.在1247年,秦九韶《数书九章》卷一“大衍总数术”,明确、系统地叙述了求解一次同余方程组的一般方法.
《孙子算经》给出了这类问题的一般解法,非常简捷方便,具有非凡的数学思想,并对数论、代数产生了重要影响,中国称该算法为“孙子定理”,国际上称该算法为“中国剩余定理(Chinese remander theorem)”,这是中国数学对世界数学最重要的贡献之一.
中国古代数学有一个传统,因为数学问题均以实用为前提,所以总是以具体的数量关系表示一般的规律.比如“勾股定理”就是,这里的“孙子定理”也是.下面是孙子定理的一般形式.
3.中国剩余定理
在西方,直到18世纪瑞士的数学家欧拉和法国数学家拉格朗日才对同余式进行了系统的研究,德国数学家高斯在1801年出版的《算术探究》中才明确地写出了一次同余式组的求解定理.当《孙子算经》中的“物不知其数”问题解法于1852年经英国传教士伟烈亚力(Wylie Alexander,1815~1906)指出孙子的解法符合高斯的求解定理,从而在西方数学著作中就将一次同余式组的求解定理称誉为“中国剩余定理”.
中国剩余定理:设n≥2,m1,m2,…,mn是两两互素的正整数,令
m1m2…mn=M=M1m1=M2m2=Mnmn,
则同余组
x≡c1(mod m1)
x≡c2(mod m2)
x≡cn(mod mn)
有惟一正整数解,且其解为
x≡M1α1c1+M2α2c2+…+Mnαncn(mod M)
其中
Mkαk≡1(mod mk)k=1,2,…,n.
“中国剩余定理”除了本身的重要性之外,还有许多重要的应用,相传汉高祖刘邦问大将军韩信统御兵士多少,韩信答,每列11人多2人,每列13人少1人,每列14人多3人,…….刘邦茫然而不知其数,这是著名的“韩信点兵”的故事,读者可以帮帮刘邦,看看韩信至少带有多少兵.
9.3.2 不定方程与“百鸡问题”
与《孙子算经》同时代的另一部重要数学著作当属《张邱建算经》.其中卷下38题给出了世界著名的“百鸡问题”.实际上是一个多元一次不定方程求整数解问题.这个问题开创了中国古代不定方程研究之先河,其影响一直持续到19世纪.
1.不定方程
不定方程是指方程的个数少于未知数的个数,并且其系数与解都是整数的方程式方程组,公元2世纪中叶,希腊数学家丢番图(Diophantus)对不定方程作过非常广泛的研究,对后世有很大影响,因此,后人对不定方程又称丢番图方程.我国古代对不定方程也很有研究.如商高方程x2+y2=z2(在几何里叫商高方程)的一组特解:x=3,y=4,z=5.即勾股数3,张邱建(南北朝人,公元5世纪)也对不定方程进行了系统的研究,张邱建所著《张邱建算经》,成书于公元466~484年之间,现传本有92个问题,大部分是社会上的实际问题,包括不定方程等问题的解法,世界著名的百鸡问题就在其中.
所谓多元一次不定方程指的是整系数方程
a1x1+a2x2+…+anxn=b (9-4)
其中a1,a2,…,an,b都是整数,n≥2,不失一般性,不妨设ai不全为0,可以证明:方程(9-4)有解的充要条件是(a1,a2,…,an)|b.
假若式(9-4)有解,则按下列方法求其解:
先顺次求出(d1,a2)=d2,(d2,a3)=d3,…,(dn-1,an)=d,则dn=(a1,a2,…,an)=d,作方程
首先按下述方法求其解,求出最后一个方程的解a
其中x0,y0为式(9-5)的最后一个方程的特解,t为任意整数,即式(9-6)为式(9-5)最后一个方程的全部解,然后把tn-1的每个值代入式(9-6)倒数第二个方程再求出它的一切整数解,依次类推,可以求出式(9-4)的全部解.
2.百鸡问题
“百鸡问题”是《张邱建算经》卷下最后一题,全文是:“鸡翁一,值钱五,鸡母一,值钱三,鸡雏三,值钱一,百钱买百鸡,问鸡翁、鸡母、鸡雏各几何?”
这是一个不定方程,如果用x,y,z分别代表鸡翁、鸡母、鸡雏的数目,就可以得到下面方程组
张邱建给出
若用上面的解法
消去z得
7x+4y=100 (9-9)
式(9-9)为一个二元一次不定方程,由于(7,4)=1,故方程有解,因7×(-1)+4×2=1两边同乘以100得
7×(-100)+4×200=100
故x0=-100,y0=200,由式(9-6)和式(9-9)得式(9-7)的全部解为
x=x0-bt=-100-4t
y=y+at=200+7tt∈z
在原问题中 又雏鸡数z= 100-x-y=-3t,这样可得
这正是张邱建的答数,因此,张邱建是数学史上给出一题多解的第一人.
类题:“百牛问题”据传清嘉庆皇帝仿百鸡问题编了一道百牛问题:有银百两,买牛百头,大牛每头十两,小牛每头五两,牛犊每头半两,问买的一百头牛中大牛、小牛、牛犊各几头?嘉庆本人和大臣均未解出,却被他的儿子凑了出来.读者可以帮助算一算.
事实上,设大牛、小牛、牛犊各买x,y,z头,则得方程组
x=1-9u
19x+9y=100解之y=9+19→─uz=90-10u
如题意x>0,y>0,z>0得x=1,y=9,z=90为所求.
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。