原名为《数术大略》。共九卷。元代人称之为《数学九章》,又有人改九卷为十八卷,并于明代初期收入《永乐大典》。明代,王应遴从《永乐大典》抄录时,便定名为《数书九章》。清代,编《四库全书》时,沿用元代之书名《数学九章》,卷数仍用九卷。但是,赵琦美、宋景昌都用《数书九章》。而现今比较流行的名称,则是《数书九章》。《数书九章》是一部数学名著,此书也采取问题集的形式,全书十八卷,共列有八十一问。这八十一问厘为九类,每类九问,这九类分别是:“大衍类”、“天时类”、“田域类”、“测望类”、“赋役类”、“钱谷类”、“营建类”、“军旅类”、“市物类”等。此书的作者乃是宋、元时期四大杰出数学家之一,南宋秦九韶。
秦九韶,字道古,自称鲁郡人,可能生在南宋宁宗嘉定二年(1209年)(一说是生于宁宗嘉泰二年,即是公元1202年)于其父任职之巴州(今四川巴县),死于度宗咸淳年间之梅州(今广东梅县),终年六十岁左右。南宋宁宗末年期间,因宋军连年作乱,于嘉泰十二年(1219),攻克巴州,其父弃官携眷逃往南宋首府临安(今浙江杭州)。《数书九章》序中说:“早岁侍亲中都,因得访习于太史”。当指此事。在此时期,秦九韶正值幼年求学时期,由于其父关系,秦九韶不但与当时南宋著名天文家、历法家、建筑师有所接触,而且还“尝从隐君子受数学”,从而秦九韶学习了不少丰富的科学、技术知识,为他的著书立说奠定了坚实的基础。
南宋理宗宝庆元年(1225年),秦九韶之父调升“知潼川府”(今四川三台县),秦九韶随其父再次到达四川。次年(1226年),秦九韶之父携九韶与涪州(今四川涪陵)守王瑀父子等人同看“石鱼”,并刻石留名。成为秦九韶第一次公开留名于后世的机缘。这次秦九韶与其父同看石鱼,可能既庆祝其父之调升,又为秦九韶送行。因为此时秦九韶已到成年,应当进入社会。周密所说秦九韶“年十八(当是虚岁),在乡里为义兵首”。而“义兵首”,可能是地方上的常设机构,未必是当时地方武装。不久,秦九韶便由“义兵首”提升为正式“县尉”。这就是秦九韶看“石鱼”之后,正式步入社会的史实。
此后,李刘曾推荐秦九韶到南宋朝廷担任校对官,未赴任,仍居于四川。南宋理宗端平三年(1236年)后,秦九韶在湖北一带作官,后定居于湖州(今浙江吴兴县),到南宋理宗淳祐四年(1244年),升为建康府(今江苏南京)通判,当年其母病逝,秦九韶回湖州守孝。守孝三年间,从事于数学研究,于淳祐七年(1247年),完成数学巨著《数术大略》,即《数书九章》。由于秦九韶在天文、历法、数学等方面有较深造诣,经推荐,大约于理宗宝祐二年(1254年),被任命为建康沿江制置司参议,不久即离职家居,因秦九韶与贾似道、吴潜等人关系密切,大约于宝祐六年(1258年),被任命为代理琼州守,不数月,即被免职。他又通过吴潜,被任命为司农寺丞,又被任命为知临江(今江西南昌)军,两次任命,均遭到反对而未果任。后来,吴潜被贬,流放于潮州(今潮县),而贾似道执掌实权,秦九韶再次被任命到梅州作地方官,最后死于梅州。
《数书九章》共八十一问,分为九类,由题文来看,有的涉及自然现象,有的涉及社会现象,有的则涉及数学现象;这种分类法虽不完备,但可以说《数书九章》既继承、发扬我国传统数学的体制,又推陈出新、独具风格,其创新精神,诚可表彰。
《数书九章》之第一类为“大衍类”,就中论及“大衍总数术”。“大衍总数术”就是一次同余式解法。在西方,最早涉及一次同余式问题的是意大利数学家斐波纳契(L.Fibonacei),在他的书中,虽有两道一次同余式题,但无一般解法,到十八、十九世纪,大科学家欧拉(L.Euler)及大数学家高斯(C. F. Gauss)才先后给出一次同余式的一般解法。在我国,古算书《孙子算经》记载有“物不知数”一问,所给已知数虽是三个“两两互素”的数,但却没有给予明确的一般解法。在我国没有素数概念的情况下,秦九韶于《数书九章》中,不但给出化一般不互素的数为“两两互素”的一般方法。而且还给出一次同余式的一般解法。例如其卷二第九问“余米推数”题为:
“问有米铺,诉被盗去米一般三箩,皆适满,不记细数,今左壁箩剩一合,中间箩剩一升四合,右壁箩剩一合。后获贼,系甲、乙、丙三名。甲称当夜摸得马杓,在左壁箩满舀入布袋;乙称踢着木履,在中箩舀入袋;丙称摸得漆碗,在右壁箩舀入袋,将归食用,日久不知数。索到三器,马杓满容一升九合,木履容一升七合,漆碗容一升二合。欲知所失米数,计贼结断,三盗各几何”。
此问是一同余问题,设每箩原有米数为N (以合为计算单位),此问相当于解下列同余式组:
按秦九韶算法,表示以现代形式,即:
已知三问数19.17.12.两两互素,依题意得:
剩米数分别为1.14.1.称为余数。
而盗器容量为19.17.12.称为定母。
定母乘积为19×17×12=3876.称为衍母。
衍母除以各定母为204.228.323.称为衍数。
定母除以衍数之余为14.7.11.称为奇数。
求得乘率分别为15.5.11.
其求奇数之法,是用“大衍求一术”求之。
于是,可求得每箩平均米数为:
N=1×15×204+14×5×228+1×11×323-M×3876.=22573-M×3876=3193.
即是每箩平均米数为3193合,故知左箩3193-1=3192合,中箩3193-14=3179合,右箩3193-1= 3192合。
三箩共失米数为3192+3179+3192=9563合。
在秦九韶《数书九章》卷一,给出“大衍总数术”,此术即是一次同余式组的一般解法,若表示以现代形式,其解法步骤为:
设问题为:N≡ri(modAi),
其中Ai为问数,ri为余数。其解法步骤为:
1. 求定数(或称定母):用“两两连环求等,约奇弗约偶”,使问数Ai化为定数ai,而且(ai,ai)=1.
2.求衍母:求各定数之积
3.求衍数:衍母除以各定数
4.求奇数:设奇数为,由衍数Mi减去定数ai之余,
即求mi-kai=gi,
或mi≡gi (mod ai),
5.求乘率;设乘率为ki,用“大衍求一术”求之,实即使ki×gi≡1 (mod ai)成立之最小正整数ki,
6.求用数:乘率乘以各衍数即是用数Ni,Ni=ki·Mi ,7.求各总:余数乘以各用数即是各总Si,Si=ri·Ni,
8.所求数:所求数为N,即
以上就是秦九韶推求一次同余式组的一般解法。其解法的理论、步骤,与欧拉、高斯的解法理论,步骤几乎完全一致,但比欧洲却早五百余年。
在《数书九章》卷五第二“三斜求积”问中,秦九韶给出已知三角形不等三边(大斜,中斜,小斜),求其面积的公式为:
这一公式虽晚于海伦(Heron)的公式,而秦九韶是独立完成并与之等价的。
十一世纪北宋时代,贾宪、刘益推出了一般高次方程的数值解法,提出“增乘开方法”,计算中,随乘随加,简便易行。秦九韶在《数书九章》中,多处使用了增乘开方法,并解决了数字高次方程求正根问题,他所设计的解题步骤,在高等代数学里,称为“秦九韶法”。
在西方,到十六世纪,才涉及三次方程,十九世纪才提出与“秦九韶法”类似的算法,却比秦九韶要晚五、六百年。仅就一次同余式组解法及高次方程数值解法而论,可以毫不夸张地说,秦九韶的贡献标志着中世纪世界数学的最高水平。正如著名科学史家萨顿(G.Sarton)评论秦九韶说:“他那个民族、他那个时代、并且确实也是所有时代最伟大的数学家之一。”
《数书九章》流传至今的版本有:永乐大典本,四库全书本,宜稼堂丛书本,丛书集成本,古今算学丛书本,此外还有北京图书馆所藏王萱龄抄本,北京大学所藏一部清代学人傅抄本。