中国剩余定理是怎么推出来的?
中国剩余定理是怎么推出来的?
这个要从韩信说起,韩信是汉高祖刘邦手下的大将,他英勇善战,智谋超群,为汉朝的建立了卓绝的功劳.据说韩信的数学水平也非常高超,他在点兵的时候,为了保住军事机密,不让敌人知道自己部队的实力,先令士兵从1至3报数,然后记下最后一个士兵所报之数;再令士兵从1至5报数,也记下最后一个士兵所报之数;最后令士兵从1至7报数,又记下最后一个士兵所报之数;这样,他很快就算出了自己部队士兵的总人数,而敌人则始终无法弄清他的部队究竟有多少名士兵.
这个故事中所说的韩信点兵的计算方法,就是现在被称为“中国剩余定理”的一次同余式解法.它是中国古代数学家的一项重大创造,在世界数学史上具有重要的地位.
最早提出并记叙这个数学问题的,是南北朝时期的数学著作《孙子算经》中的“物不知数”题目.这道“物不知数”的题目是这样的:
“今有一些物不知其数量.如果三个三个地去数它,则最后还剩二个;如果五个五个地去数它,则最后还剩三个;如果七个七个地去数它,则最后也剩二个.问:这些物一共有多少?”
用简练的数学语言来表述就是:求这样一个数,使它被3除余2,被5除余3,被7除余2.《孙子算经》给出了这道题目的解法和答案,用算式表示即为:
用现代的数学术语来说,这幅“开方作法本源图”实际上是一个指数为正整数的二项式定理系数表.稍懂代数的读者都知道:
《孙子算经》实际上是给出了这类一次同余式组
其中70、21、15和105这四个数是关键,所以后来的数学家把这种解法编成了如下的一首诗歌以便于记诵:
“三人同行七十(70)稀,
五树梅花二一(21)枝.
七子团圆正半月(15),
除百零五(105)便得知.”
《孙子算经》的“物不知数”题虽然开创了一次同余式研究的先河,但由于题目比较简单,甚至用试猜的方法也能求得,所以尚没有上升到一套完整的计算程序和理论的高度.真正从完整的计算程序和理论上解决这个问题的,是南宋时期的数学家秦九韶.秦
九韶在他的《数书九章》(见图1一7一1)中提出了一个数学方法“大衍求一术”,系统地论述了一次同余式组解法的基本原理和一般程序.
秦九韶为什么要把他的这一套计算程序和基本原理称为“大衍求一术”呢?这是因为其计算程序的核心问题是要“求一”.所谓“求一”,通俗他说,就是求“一个数的多少倍除以另一个数,所得的余数为一”.那么为什么要“求一”呢?我们可以从“物不知数”题的几个关键数字70、21、15中找到如下的规律
其中70是5和7的倍数,但被3除余1;21是3和7的倍数,但被5除余1;15是3和5的倍数,但被7除余1,任何一个一次同余式组,只要根据这个规律求出那几个关键数字,那么这个一次同余式组就不难解出了.为此,秦九韶提出了乘率、定数、衍母、衍数等一系列数学概念,并详细叙述了“大衍求一术”的完整过程.(由于解法过于繁细,我们在这里就不展开叙述了,有兴趣的读者可进一步参阅有关书籍.)直到此时,由《孙子算经》“物不知数”题开创的一次同余式问题,才真正得到了一个普遍的解法,才真正上升到了
“中国剩余定理”的高度.
从《孙子算经》到秦九韶《数书九章》对一次同余式问题的研究成果,在19世纪中期开始受到西方数学界的重视.1852年,英国传教士伟烈亚力向欧洲介绍了《孙子算经》的“物不知数”题和秦九韶的“大衍求一术”;1876年,德国人马蒂生指出,中国的这一解法与西方19世纪高斯《算术探究》中关于一次同余式组的解法完全一致.从此,中国古代数学的这一创造逐渐受到世界学者的瞩目,并在西方数学史著作中正式被称为“中国剩余定理”.