书城科普古代数学与物理学(中国文化史丛书)
11491400000009

第9章 《算术》

公元1世纪,《九章算术》问世,它标志中国数学系统理论的产生。从此,奠定了后世数学研究的基础内容和理论形式。作为中国数学成熟的标志,《九章算术》还较完整地体现了中国古代的数学思想及其特点。

宋本《九章算术》《九章算术》的内容

现传本《九章算术》由246个数学问题及其答案和术文组成,按算法分属方田、粟米、衰分、少广、商功、均输、盈不足、方程、勾股等九章。前六章定的是实用名称,“使学者知事物之所在,可以按名以知术也”,后三章“义理稍深,应用亦较狭,故从其专术得名。”各章名称的涵义和基本内容如下:

“方田”,是土地形状的特称,说明该章专讲各种形状地亩面积的计算,设问38题,提出21术,涉及的数学内容主要是平面图形面积的求法和分数的四则运算方法。

“粟米”,是谷物品种的特称,说明该章专讲各种谷物之间的换算,设问46题,提出33术,涉及的数学内容主要是比率算法。

“衰分”,意为按比率分配,说明该章专讲分配问题的解法,设问20题,提出22术,涉及的数学内容仍是比率算法,但难度较粟米章的比率算法要高,是它基础上的发展。

“少广”,名称比较奇特,中国古代称长方形的底、高为广、从,长方形面积给定后,广、从之间存在着广多从少和广少从多的关系。所以按定义而论,“少广”就是“广少而从多,需截多以益少。”说明该章专讲给定长方形面积或长方体体积求其边长的方法,设问24题,提出16术,涉及的数学内容主要是开平方和开立方。作为这类问题的扩充,该章的最后提出了两题已知球的体积而求其直径,即所谓“开立圆”问题。

“商功”,意为工程大小的估计,说明该章专讲开渠作堤、堆粮筑城等工程的计算和用工多少的确定,设问28题,提出24术,涉及的数学内容主要是立体图形体积的计算。

“均输”,意为平均输送,说明该章专讲按人口多少、路途远近、谷物贵贱推算赋税及徭役的方法,设问28题,提出28术,涉及的数学内容主要是在衰分章基础上发展起来的比率算法。

“盈不足”,是中国数学的一种专门算法——盈不足术的代称,说明该章专讲盈不足(包括两盈、盈适足、不足适足等)问题的算法,以及将一般算术问题化为盈不足问题的方法,设问20题,提出17术,涉及数学内容主要是假设法和基于直线内插思想的比率算法。

“方程”,指由数学排列而成的方形表达式,演算“方程”。的方法称为方程术,说明该章专讲列置和演算“方程”的方法,设问18题,提出19术,涉及数学内容主要是与线性方程组相当的理论和正负数运算法则。

“勾股”,指直角三角形,说明该章专讲有关直角三角形的理论,设问24题,提出22术,涉及数学内容主要是勾股定理及其应用。

从上述内容简介中可以看出,《九章算术》不仅内容丰富而且具有实用性强,以及以算为主、数形结合的特点。这个特点在全书的体系结构中也有明显的表现。

《九章算术》的体系

《九章算术》的体系是中国数学理论体系的典型代表。这个体系的基本结构是:以题解为中心,在题解中给出算法,根据算法组建理论体系。所以说,《九章算术》的理论体系是以题解为中心的算法体系。以题解为中心指的是这一理论的中心内容是问题及其解法;算法体系则指建立理论体系的依据和核心是算法。

从表面上看《九章算术》的分类依据似乎有两个:一是按问题的应用属性分类,如关于土地面积的计算归成一类,署名方田;关于谷物换算方法归成一类,署名粟米等等。二是按算法分类,如以介绍盈不足术、方程术、勾股术为主要内容的问题及题解分属三类,署名盈不足、方程和勾股等。其实,这是个表面现象。《九章算术》分类原则仅一个,即算法。《九章算术》的体系也仅一个,即算法体系。所谓实用体系的说法既不确切,也不符合《九章算术》的实际情况。事实上,《九章算术》中的不少问题是为了全面完整地表现算法而编制出来的,这些问题的应用属性完全由《九章算术》的作者所决定,应用属性不成其为分类原则。

近年来中算史家对《九章算术》的算法体系的研究有了较大的进展,发现《九章算术》不仅分类合理,体系完整,而且结构严谨,充分表现了中国数学特有的形式和思想内容。

整个《九章算术》包括了四大算法系统和两大求积公式系统。四大算法系统是分数算法、一般比率算法、组合比率算法、开方算法;两大求积公式系统是面积公式系统和体积公式系统。其中算法是主体,求积公式服务于算法,起表现算法的例解作用。四大算法系统和两大求积公式系统的有机结合构成了《九章算术》完整的理论体系。

《九章算术》的成就

中国古代数学不区分几何、代数等分支,算术这一名称包括了中国数学的全部内容。因此,按现在数学的分支来区别中国数学的内容和成就是有些困难的。但不这样做,也会给认识中国数学带来不便。本书仍采取将《九章算术》的成就分成算术、代数和几何三个方面叙述的办法,以方便读者。

1.《九章算术》的算术成就

《九章算术》的算术成就包括分数运算、各种比例问题和盈不足术三个方面。

分数运算《九章算术》中的分数内容主要在方田章,其中有“约分”、“合分”(加法)、“减分”(减法)、“乘分”(乘法)、“经分”(除法),“课分”(分数的大小比较)、“平分”(求分数平均数)等。“约分”和现在的约分一样。为什么要约分,书中说,因为“不约则繁,繁则难用”,所以要约分。约分的方法是:“可半者半之,不可半者,副置分母、子之数,以少减多,更相减损,求其等也,以等数约之。”可半者半之,即如分子分母均为偶数,则可先以2约分。不可半者,则采用更相减损术先求等数(即公因子),然后用等数约之。副,另放一旁的意思。

例如:约分4991.先用算筹布列如(a),然后上下两数交互相减,最后得(d)式。7是上下之等数,用等数约之,即得4991=713

49

91(a)→49

42(b)→7

42(c)→7

7(d)

现代算术书中求二整数的最大公约数的辗转相除法,可以说是“更相减损术”的另一形式。

“通分”,一般采用分母的乘积作公分母,如:

13 25=515 615=1115(方田章第7题)

12 23 34 45=60120 80120 90120 96120=326120=286120=24360(方田章第9题)

但也有几题是用最小公倍数作公分母的,例如:

1 12 13 14 15 16 17=420420 210420 140420 105420 84420 70420 60420=1089420(少广章第6题)

“合分”,指分数加法。方法是:“母互乘子,并以为实,母乘为法,实如法而一。不满法者,以法命之。其母同者,直相从之。”

“实”是被除数(即分子),“法”是除数(即分母),分母乘分子,加起来作为被除数,分母相乘作为除数。“实如法而一”,常指除法运算。即

ab cd=ad bcbd

“其母同者,直相从之”的意思是:如果分母相同,就直接将分子相加。

后来刘徽在注里说:“凡母互乘子谓之齐,群母相乘谓之同。”所以这种方法叫做“齐同术”。

此外,还有“减分”、“乘分”、“经分”等运算法则。大体上已和现在的算法一致。只是通分时没有明确要求用最小公分母。做乘法时,遇到带分数相乘,须把带分数化为假分数再乘,如方田章24题。

1857×23611=1317×25911=3392977=4404977=440711

《九章算术》中的经分是指分数的除法,一般是用通分来计算的,如方田章18题。

(613 34)÷313=(193 34)÷103=8512÷4012=8540=218

刘徽后来补充了一个法则,将除数的分子、分母颠倒而与被除数相乘。

总之,《九章算术》是世界数学史上最早系统叙述分数的著作。欧洲在15世纪以后,才逐渐形成了现代分数的算法,而且直到17世纪,多数算书在计算分数相加时都不要求用最小公倍数作分母。

关于分数的写法,还有一件值得注意的事。我国古代用算筹来做除法,“实”(被除数)列在中间,“法”在下面,“商”在上面。除到最后,中间的实可能还有余数:

这种商数在上,余数居中,除数置下的样式也就成了中国古代数学中的带分数形式。上式相当于6438483.

《孙子算经》(约4世纪)记述得很清楚:“凡除之法……除得在上方……实有余者,以法命之,以法为母,实余为子。”

印度人在三、四世纪时的分数记法也与中国一样,113写成113,也是把带分数的整数部分写在上面。12世纪,印度数学家拜斯伽逻著《立拉瓦提》,也仍采用这种分数记法和算法,如3 15 13写作311513,通分后变成4515315515.后来传到中亚细亚,也将分子写在上,分母写在下。目前所发现的最早的分数线是在阿拉伯数学家阿尔·哈萨(约1175年)的著作中。按照他的写法:

333589表示2 3 3589

阿拉伯文的书写是从右到左。欧洲人早期也沿用这个习惯,式子也是从右到左,整数部分写在分数的右边,如将1212x写成“radices1212”。

分数线和许多其他符号一样,没有马上被大家采用。14世纪中叶还有用31-15表示35的。为了节省地方,法国人棣么甘推荐用a/b表示ab。这种记法在18世纪末叶已经出现。

现在通常采用的分数写法,开始于明末西洋笔算传入中国之时,当时曾有将分母放在分子上的记法。直到清末新式学校中的算术课本才采用现在的写法。

各种比例问题在《九章算术》衰分章、均输章、勾股章中都有不少比例问题。

《粟米》章一开始就列举了各种粮食的互换比率。“粟米之法:‘粟米五十,粝米三十、粺米二十七、米二十四……’”这就是说:谷子五斗可换糙米三斗,又可换九折精米二斗七升,八折精米二斗四升……粟米章内许多粮食之间的兑换关系均按这个比率计算。如:

粟米章第1题:“今有粟米一斗,欲为粝米,问得几何?”它的解法是:“以所有数乘所求率为实,以所有率为法,实如法而一。”这里,所有数是粟米1斗(10升),所有率是5,所求率是3.于是依术10×3÷5=6升。这种算法叫“今有术”。“今有术”就是比例,是从关系式:

所有率(a):所求率(b)=所有数(c):所求数(x)解出x=bca的一个方法。

“今有术”的名称一直沿用到清代,后来才改称“比例”。刘徽在《九章注》中,对这个解法作了进一步说明,大致说:“今有术”求所求数时,是将所有数乘上一个比率,这个比率是一个以所求率为分子、所有率为分母的分数。

当然,上面只是一个简单的比例问题,在衰分、均输、勾股各章中还有许多较复杂的比例问题,也都用“今有术”求解。

例如,衰分章第17题:“今有生丝三十斤,干之耗三斤十二两,今有干丝十二斤,问生丝几何?”这个问题的解法是,以干丝12斤为所有数,以30×16=480两为所求率,以480-60(3斤12两=60两)=420两为所有率,求得原来生丝12×480÷420=1357斤。

另外,还有现在所谓的复比例问题和链锁比例问题,也都用“今有术”解决。比例分配问题也可用“今有术”解决。如衰分章第2题:“今有牛、马、羊,食人苗,苗主责之粟五斗,羊主曰,我羊食半马(所食)。马主曰,我马食半牛(所食)。今欲衰偿之(按一定比例递减赔偿)问各出几何?”依照羊主人、马主人的话,牛、马、羊所食粟相互之比率是4:2:1,就是用4、2、1各为所求率,4 2 1=7为所有率,粟米50升为所有数,以“今有术”演算得牛主人应偿44507=2847升,马主人应偿1427升,羊主人应偿717升。

“今有术”是从三个已知数求出第四个数的算法,7世纪时在印度为婆罗摩笈多所知,称之为“三率法”。后来三率法传入阿拉伯,再由阿拉伯传到欧洲,仍保持三率法的名称。欧洲商人十分重视这种算法,叫它为“金法”,意思是赚钱的算法。可见欧洲人对这种算法的推崇。

“今有术”与欧几里得《几何原本》中的比例法的作用是相同的。不过,“今有术”没有明确其中有一个比例的问题,也没有把所有率所有数=所求率所求数这一关系明确揭示出来。

盈不足术盈不足术是我国古代解决盈亏问题的普遍方法。例如盈不足章第1题:“今有(人)共买物,人出八盈三,人出七不足四,问人数物价各几何?”答曰;七人,物价五十三。

《九章算术》解这类问题有一个公式。设每人出a1盈b1,每人出a2不足b2,u为人数,v为物价,则u=b1 b2a1-a2v=a2b1 a1b2a1-a2公式来源没有阐明,后来刘徽注作了解释,用现代算式表示是这样的:v=a1u-b1(1)

v=a2u b2(2)以b2×(1),以b1×(2),相加得(b1 b2)v=(b2a1 b1a2)u因而vu=b2a1 b1a2b2 b1又(1)(2)二式相减得(a1-a2)u-b1-b2=0故u=b1 b2a1-a2v=a1b1 b1a2a1-a2每人应出钱vu=b2a1 b1a2b1 b2(*)公式(*)很有用,《九章算术》中许多不属盈亏类问题,就是将它转变为盈不足问题,尔后用这个公式解决的。为什么不属盈亏类问题,也可用盈不足术解决呢?因为一般算术问题都应有其答数,如果我们任意假定一个数值作为答数,依题验算,那么必然出现两种情况:一是算得的一个结果和题中表示这个结果的已知数相等,这就是说,答数被猜对了。假设验算所得结果和题中的已知数不符,而相差的数量或是有余或是不足,于是通过两次不同的假设,就可以把原来的问题改造成为一个盈亏类的问题。按照盈不足术,就能解出所求的答数来。

例如盈不足章第13题:“今有醇酒一斗值钱五十,行酒一斗值钱一十。今将钱三十得酒二斗,问醇、行酒各得几何?”该题的解法是:

“假令醇酒五升,行酒一斗五升,有余(钱)一十;令醇酒二升,行酒一斗八升,不足(钱)二。”这假设是有根据的,因设醇酒5升,则行酒必为20-5=15升,值钱数为5×5 15×1=40,比题中的钱30多10;又设醇酒2升,则行酒为20-2=18升,共值钱为2×5 18×1=28,比30不足2.

按盈不足公式(*),得醇酒数应是5×2 2×102 10=3012=212,因而行酒是20-212=1712.如求行酒数也用公式,则15×2 18×102 10=1712,结果一样。

从现今的数学来解释,这类问题的实质是求根据题中所给的条件列出的方程的根。假设所列的方程是f(x)=0,因而问题又相当于求曲线y=f(x)与x轴交点的横坐标。

先估计问题的两个近似答案x1、x2,它们对应的函数值是y1=f(x1)、y2=f(x2),过A点(x1、y1)、B点(x2,y2)作直线,方程为y-y2=y1-y2x1-x2(x-x2)交OX轴于(x′,0),其中x′=x1y2-x2y1y2-y1就是方程f(x)=0的根。

作图求近似解如果f(x)是一次函数,x′就是f(x)=0的根的真值,如果不是一次函数,x′是近似值,累次运用这种方法,可以逐步逼近真值。这种方法现在解高次代数方程或超越方程常用到。设f(x)是一个在区间[a1,a2]上的单调连续函数,f(a1)=b1和f(a2)=b2正负相反,那么,方程f(x)=0在a1、a2间的实根约等于a2f(a1)-a1f(a2)f(a1)-f(a2)可见,“盈不足术”实际上就是现在的线性插值法。它还有许多名称,如试位法,夹叉求零点,双假设法等等。

2.《九章算术》的几何成就

《九章算术》的几何成就包括面积与体积计算,勾股问题以及勾股测量三个方面。

面积与体积面积与体积的计算起源很早,《九章算术》将它放在第一章,另外,商功章内有体积计算问题。

我国古代的几何图形面积计算是直接从测量田亩的实践中产生的,因此几何图形的名称从田地的形状得来。如“方田”、“圭田”、“直田”、“邪田”(或“箕田”)、“圆田”、“弧田”、“环田”等,分别表示正方形、三角形、长方形、梯形、圆、弓形、圆环等。

《九章算术》对上述各种图形都有计算公式。

如“圭田术曰:半广以乘正从”。意思是,计算三角形面积的方法是底长之半乘高。

直角梯形的田,叫做“邪田”。邪是斜的意思。其求面积方法是“并两斜而半之以乘正从。”“并两斜而半之”是指:上底加下底之和的一半,面积公式用算式表示是S=12(a b)h。

一般梯形叫做“箕田”,因为它可以看作是两个等高的邪田合成,所以面积计算公式,仍然是12(上底 下底)×高。

圆面积计算公式,见之于圆田术,“术曰:半周半径相乘得积步。”“积步”就是以平方步为单位的面积,圆面积=半周×半径=2πr2·r=πr2.这一公式是完全正确的。但在求周长的时候,《九章算术》用“周三经一”的比率,即取π=3,这自然只能得出近似值。

弓形图解《九章算术》另有弓形的面积公式:A=12(bh h2)原文是:“术曰:以弦乘矢(bh),矢又自乘(h2),并之二而一(加起来被2除)。”公式的来源没有说明。有人作如下的推测:

12bh是△ABD的面积,再加上两个小弓形,就拼成所求的弓形ADB。根据实测或估计,这两个小弓形大约等于以h为边的正方形面积之半,从而得出上面的公式。这种推测不甚合理,因为把两个小弓形看作以h为高的正方形面积之半,这一思想没有认识基础,人们要问为什么不把二个小弓形看作二个以h为高的正方形呢?这种推测无非是从关系式12(bh h2)=12bh 12h2推演出来的。其实《九章算术》是把弓形近似地当作半圆来计算的。刘徽就指出过这一点,并且说“若不满半圆者,益复疏阔(误差就更大了)。”刘徽还指出可用类似“割圆术”的方法来修正公式。尽管如此,后世的学者竟一直没有给予重视。

《九章算术》的体积公式主要见之于商功章,其中有:

①平截头楔形——剖面都是相等的梯形。设上、下广是a和b,高或深是h,长是c,那么体积为V=12(a b)hc古代称这种图形为“城、垣、堤、沟、堑、渠”,这是因为这些东西的形状都是平截头楔形的缘故。

②“堑堵”——有两个面为直角三角形的正柱体。设直角三角形的两边为a和b,堑堵的高为c,则体积为:V=12abc平截头图形堑堵

阳马③“阳马”——底面为长方形而有一棱和底面垂直的锥体,它的体积是V=13abc④“鳖臑”——底面为直角三角形而有一棱和底面垂直的锥体,它的体积是V=16abc刘徽用割补法证明了这三个体积公式。

鳖臑正方锥体

方亭⑤正方锥体,由于它可以分解成四个阳马,故正方锥体体积是底面积乘高的13,即V=13a2h⑥“方亭”——正方形棱台体,设上方边为a,下方边为b,台高为h,则体积V=13(a2 b2 ab)·h刍童⑦“刍童”——上、下底面都是长方形的棱台体,设上、下底面为a1×b1和a2×b2,高为h,则体积

V=16[(2a1 a2)b1

(2a2 a1)b2]h

⑧“刍甍”——像草房顶的一种楔形体,体积为V=16ha(2b c)⑨“羡除”——三个侧面不是长方形而是梯形的楔形体。设一个梯形的上、下广是a、b,高是h,其他二梯形的公共边长c,这边到梯形面的垂直距离是l,则体积为V=16(a b c)×hl勾股问题见于勾股章,它主要讨论三方面问题,即用勾股定理解应用题;勾股容圆和勾股容方问题;勾股测量问题。

刍薨羡除

①用勾股定理解应用题。勾股章第1题到第14题是利用勾股定理解决的应用问题,如第6题:“今有池方一丈,葭生其中央,出水勾股解题一尺。引葭赴岸,适与岸齐。问水深、葭长各几何?答曰,水深一丈二尺;葭长一丈三尺。”

解题方法是应用关系式:

b=a2-(c-b)22(c-b)

其中a=5,c-b=1

这类问题对中国乃至世界数学史有相当的影响。

在中国,《张邱建算经》(466—485年之间),朱世杰的《四元玉鉴》(1303),明朝程大位的《算法统宗》(1593)都有类似的题目。

在国外,印度拜斯伽逻(Bhaskara 1114—1186)所著的《立拉瓦提》(1150)中有一个莲花问题与上述相仿。这是一个用诗的形式表达的数学题:

平平湖水清可鉴,面上半尺生红莲;

出泥不染亭亭立,忽被强风吹一边。

渔人观看忙向前,花离原位二尺远

能算诸君清解题,湖水如何知深浅?

阿拉伯数学家阿尔·卡西著《算术之钥》(1424),书中也有类似的一道题:“一茅直立水中,出水1尺,风吹茅没入水中,茅头恰在水面上,茅尾端留原位不动,茅头与原处相距5尺,求茅长。”

英国杰克森著《十六世纪的算术》也谈到这种题目:“一根芦苇生在圆池中央,出水3尺,池宽12尺,风吹芦苇茎尖刚好碰到池边水面,问池深多少?”

通过这些题目,可见《九章算术》在世界数学史上的影响。

②勾股容圆和勾股容方问题。所谓勾股容方是求一直角三角形内所容的正方形的边长问题,这问题比较容易,《九章算术》的答案是x=ab/a b。

勾股容方勾股容圆

勾股容圆是求直角三角形的内切圆的直径。如《九章算术》勾股章第16题:“今有勾八步,股十五步,问勾中容圆径几何?”《九章算术》的解题公式是:

d=2ab/a b c

在刘徽注中,给出了这个公式的一个证明。

勾股容圆问题,后来在13世纪李冶的《测圆海镜》中作了更深入的研究,成为一个专门的数学内容。

勾股测量③勾股测量问题。勾股章有测量问题8个(从17~24题),这些问题都有明确的解题公式,但没有解释公式的来源。用相似形原理很容易导出这些公式,但中国古代并没有相似概念,据推是用割补原理得出的。如第24题:“今有井径五尺,不知其深,立五尺木于井上,从木末望水岸,入径四寸,问井深几何?”

已知CB=CA=5尺=50寸,CD=4寸,求井深BP,按《九章算术》文,解得

BD=CB-CD=50-4=46寸

BP=BD·CACD=46×54=5712尺

勾股求高又如第23题:“有山居木西,不知其高。山去木五十三里,木高九丈五尺。人立木东三里,望木末适与山峰斜平。人目高七尺,问山高几何?”

已知RB=53里,CA=3里,CB=95-7=88尺,EB=95尺,求山高QP

依术计算得

QP=CB×RBCA EB=88×533 95=164923尺

《九章算术》中的勾股测量问题都是通过一次测量就能获解的问题。如果目标物是一个不可到达的地方,那么用一次测量就不可能解决问题,必须要两次测量才行。这种通过两次测量的办法,东汉数学家称之为“重差术”。

3.《九章算术》的代数成就

《九章算术》代数部分成就主要有三个方面:开平方、开立方;开带从平方;“方程”和正负术。这三个方面成就都是当时世界最先进的。

开平方、开立方《九章算术》少广章记载了完备的开平方和开立方的演算步骤。这一方法不仅直接解决了开平方和开立方的问题,而且它作为一般的开方法的基础,为后来我国求高次方程数值解方面取得辉煌成就奠定了基础。

《九章算术》的开平方与开立方方法与现在通用的方法一致。都是(a b)2=a2 2ab b2,以及(a b)3=a3 3a2b 2ab2 b3两个恒等式的应用,其过程也与今天一样。

在公元500年印度数学家阿耶婆多给出开平方之前,世界数学史上除《九章算术》之外再也没有系统而完整的开平方法了。而阿耶婆多著作中的许多内容都与我国古代数学相似。

被开方数是一个分数时,《九章算术》说,若分母开得尽,则ab=ab,若开不尽,则ab=abb。

除了开平方术,开立方术外,还有“开圆术”。“开圆”是从圆面积求圆周的方法。设已知圆面积A,圆周长为L=2πr=4πA。《九章算术》采用π=3,故L=12A。可见公式在理论上是正确的。

“开立圆”是从“立圆”(球)体积,求直径的方法。用的公式是d=316V9(d是直径,V是体积)。

这个公式误差很大,后来祖冲之父子求得d=36Vπ,这是中国数学史上一个杰出的成就。

开带从平方前面指出《九章算术》开平方是利用恒等式(a b)2=a2 2ab b2.当初商a确定之后,求次商b时,是利用了等式(a b)2-a2=2ab b2即b2 2ab=(a b)2-a2等式右端是已知数。因此,求b的过程实际上是解形如x2 kx=N的方程,求其正根。

这种有一个正的一次项跟在二次项后面的二次方程,中国古代称之为开带从平方式,其中一次项叫做“从法”,解这个方程就是开带“从法”的平方,简称为“开带从平方”。由于开平方的过程,实际上已经包含了开带从平方,因此可以说《九章算术》已经解决了求形如x2 kx=N方程的正的数值根问题。

“方程”和正负术《九章算术》中的“方程”与现在的方程意义不同,它不是指含有未知数的等式,而是指根据一定规则由数字排列而成的呈方形的程式。以方程章第1题为例:“今有上禾三秉,中禾二秉,下禾一秉,实三十九斗;上禾二秉,中禾三秉,下禾一秉,实三十四斗;上禾一秉,中禾二秉,下禾三秉,实二十六斗。问上、中、下禾实一秉各几何。”如用现在的设未知数列方程组的办法,列出的方程组是:3x 2y z=39(1)

2x 3y z=34(2)

x 2y 3z=26(3)中国古代没有设未知数的习惯,而是直接用算筹将数目列在筹算板或者桌面上,像上面这个问题。

这种算式似乎是分离系数法的体现,其实不是,它是按某种比率关系建立起来的数字阵。(参见李继闵《九章算术》与刘徽注中的方程理论)

解这个“方程”用的是“直除法”。具体说,是将(a)式上禾的秉数3遍乘(b)式各项,得6、9、3、102,然后两次减去(a)式对应各数,得0、5、1、24,又用3遍乘(c)式各数,得3、6、9、78,减去(a)式对应各数得0、4、8、39.

4y 8z=39再消去一元就可以得到答案。即用(b)式中禾的秉数5遍乘左行(c)式得20、筹式图40、195;四次减去(b)式对应的数字5、1、24得0、36、99;以9约之,得0、4、11,这样得到。中,(c)式相当于4z=11,于是z=114.为求中禾和上禾一秉的实,再如上用遍乘直除的方法。

筹式图由于“直除法”是一种解线性方程组的一般方法,因此它不仅可解三元方程组,而且可用来解n元方程组。在《九章算术》中就有四元者二问(第14、17题),五元者一问(第18题)。

用直除法解方程组过程中难免出现从小数中减去大数的情况,如《方程章》第3题,“今有上禾二秉,中禾三秉,下禾四秉,实皆不满斗;上取中,中取下,下取上各一秉而实满斗,问上、中、下禾实一秉各几何。”列出的“方程”是用直除法边乘边减,会出现零减去正数的情况。为使运算继续下去,就必须引进负数概念。《九章算术》所载的“正负术”就是为解决这一问题而提出的。这是数学史上的一项卓越的成就。

正负术曰

同名相除(减)[( a)-( b)= (a-b)]

异名相益(加)[( a)-(-b)= (a b)]

正无入负之[0-( b)=-b)

负无入正之[0-(-b)= b]

其异名相除[( a) (-b)= (a-b)]

同名相益[( a) ( b)= (a b)]

正无入正之[( a) 0= a)

负无入负之[(-a) 0=-a]

前四句是讲正负数的减法,后四句是讲加法。显然,这是完全正确的。筹算怎样来表示正负数?刘徽有一个说明:“今两算得失相反,要令正负以名之。正算赤,负算黑。否则以邪正为异。”这句话是说,同时进行两个运算,若结果得失相反,那就要分别叫做正数和负数。并用红筹代表正数,黑筹代表负数。不然的话,将筹斜放和正放来区别。

这是世界数学史上最早做出的对正负数的明确区分。

世界上除中国外,负数概念的建立和使用都经历了一个曲折的过程。

希腊数学注重几何,而忽视代数,几乎没有建立过负数的概念。印度婆罗摩笈多开始认识负数,采用小点或小圈记在数字上面表示负数。对负数的解释是负债或损失,只是停留在对相反数的表示上,尚未将负数参与运算。

欧洲第一个给出负数正确解释的是斐波那契,他在解决一个关于某人的赢利问题时说:“我将证明这问题不可能有解,除非承认这个人可以负债。”

1484年法国的舒开给出二次方程一个负根,卡当在1545年区分了正负数,把正数叫做“真数”,负数叫做“假数”,并正式承认了负根,不过,这些思想都没有在欧洲引起足够重视。直到18世纪有些数学家还认为负数这个比零小的数,是不可能的。