关于中国人对于世界科学史的贡献,经常被提起的不外四大发明之类,其实还有一些不那么著名的贡献,也确实是由中国人作出,并且得到西方学者承认的。例如“中国剩余定理”——这是西方数学史著作中对一次同余式定理的称呼。因为关于这个问题最先出现于中国南北朝时期的数学著作《孙子算经》中,所以又被称为“孙子定理”。
对于这个问题,历史上的西方数学家也做过大量研究,但最重要的贡献由南宋数学家秦九韶作出。现今的数学史著作几乎都会提到秦九韶和他的数学著作《数书九章》。在今四川安岳(这里被认为是秦的故乡)还有秦九韶纪念馆,甚至还命名了一所“秦九韶中学”。但对于秦九韶究竟是何等样人,除了“伟大的数学家”之外,通常就讳莫如深了。用现代的眼光看,秦九韶可能是中国历史上少见的奇人之一。
所谓“一次同余式”问题,最早可见《孙子算经》卷下第26题:“今有物不知其数,三三数之剩二,五五数之剩三,七七数之剩二,问数几何?”用现代数学语言表示,就是求解一次同余式组:
N≡R1(mod3)≡R2(mod5)≡R3(mod7)
其解可表示为:
N=70R1+21R2+15R3-105P
这里P为整数,在上述问题中,R1=R3=2,R2=3,取P=2,得到答案:N=23。
在明朝程大位的数学著作《算法统宗》中,上述题解被写成一首在数学史上流传颇广的歌诀:
三人同行七十稀,五树梅花廿一枝,
七子团圆正月半,除百零五便得知。
不能小看这道题目(在数字很小且只有三组的情况下,凑数字也能求出其解),它背后的学问还是很大的。在欧洲,大约在公元10世纪时开始出现讨论一次同余式问题的萌芽,而世界科学史上一连串辉煌的名字都曾和这个问题联系在一起:例如阿尔哈桑(Ibnal Haithan)、斐波那契(Fibonacci)、欧拉(L.Euler)、拉格朗日(J.Lagrange)、高斯(Gauss)……。后来来华的传教士伟烈亚力(Alexander Wylie)将《孙子算经》卷下第26题介绍到了欧洲,1874年L.Methiesen发表文章,指出《孙子算经》中的解法与高斯定理相合,于是西方人将其定名为“中国剩余定理”。
古代中国人注重实用,这个一次同余式问题也不是只拿来做数字游戏的。说大一点,它和中国古代的政治大有关系。中国古代将天文历法看作极其神圣的事物,在早期这曾经是王权确立的必要条件之一,后来则长期成为王权的象征。而在中国历法史上,曾有很长时期追求一个理想的时间起算点——这个起算点要从制定某部历法的当年向前逆推,被称为“上元积年”。在这个起算时刻,日、月、五大行星都恰好位于它们各自周期的起点,同时这个时刻又恰好是节气中的冬至,而这个时刻所在的这一天的纪日干支又要恰好是“甲子”,如此等等。要满足这么多的条件,就需要求解一个多达9项的一次同余式组,在没有计算机的时代,求解的计算工作量将达到骇人的地步。数学史家相信,在《孙子算经》中上述趣题出现之前,中国历法中已经使用一次同余式组来求解上元积年了。而南朝祖冲之《大明历》中的上元积年,就被认为是解算9项一次同余式组而获得的。唐代一行《大衍历》中的上元积年年数竟达96,961,740年,也被认为是求解一次同余式组而获得的。但是祖冲之和一行等人究竟是如何解算的,却一直没有人能够知道。
在这个问题上最重要的理论贡献,就是由秦九韶(公元1202~1261)做出的。他在《数书九章》中给出了“大衍求一术”——即一次同余式问题的系统解法(用他的方法确实可以求出《大衍历》中的上元积年,尽管这还不足以证明一行就是用的这种方法)。这被认为是中国古代数学中的一项伟大成就,在世界数学史上也可以占据一席之地。