“原题”
今有积二十三万四千五百六十七步。问为方几何?(选自《孙子算经》19卷中)
“译文”
现有面积为234567平方米的正方形,求它的边长是多少?
“解答”
这道题的实质是给234567开平方。
现在如果我问你:“你会给任意数开平方吗?”相信你多半会捧着计算器自信满满地回答——“这有什么难的,我有它呢!”不过假如不给你提供任何电子计算工具,只允许你使用笔和纸,你还能完成这项任务吗?
中国古人在没有电脑、计算器、甚至连阿拉伯数字为何物都不知道的情况下,便能熟练地进行开方运算了,这般功夫着实令我们这些现代人惊羡。
下面,我们就来跟古人学一学“手动”开方法。
古人的开方法蕴含一种宝贵的思维模式:数形结合。他们把数字和图形结合在一起,用形象的图形辅助解答抽象的数字问题,在古人看来给一个数开方,就相当于已知正方形的面积求其边长。
在给234567开方前,让我们先来学习一下古人如何给361开平方:
给361开平方,先画一个正方形ABCD。然后估算361平方根的第一位数字,因为361大于100、小于400,因此,它的平方根应该在10到20之间,也就是说361平方根第一位(十位)上的数字应该是1.361-100=261,接下来我们根据261来确定361平方根第二位(个位)上的数字,这时我们就需要借助之前画的正方形了。
在正方形ABCD的AB边上取一点E,令AE=a=10,EB=b,做小正方形AEFG,它的边长是a=10,面积是a2=100.从大正方形ABCD中挖去小正方形AEFG,剩下的面积是361-100=261,它由三部分构成:
正方形FHCI,它的面积是b2.
长方形DIFG和长方形FHBE,它们的面积都是ab
由此,我们可以列出下面这个等式:b2 2ab=261
将a=10带入等式,b(b 20)=216
根据这个等式,我们在1~9这9个数字间估计b的值。它大致应该等于8或9这两个比较大的数字,分别带入等式检验一下,发现当b=9时,等式成立。这也就意味着361平方根个位上的数字是9,而面积为361的正方形ABCD的边长是19.由此可知,361的平方根等于19.
现在我们来给234567开方:
我们依然使用数形结合的方法,先画一个正方形ABCD。估计234567平方根第一位(百位)上的数字,因为234567小于250000、大于160000,因此,平方根的取值范围应该在400到500之间,这也就意味着234567平方根第一位(百位)上的数字应该是4.
234567-160000=74567
接下来我们根据74567确定234567平方根第二位(十位)上的数字。在我们刚才画的正方形ABCD的AB边上取一点E,AE=a=400,EB=b。做正方形AEFG,它的边长是a=400,面积a2=160000,从大正方形ABCD中挖去正方形AEFG,剩下的面积是234567-160000=74567,它由三部分构成:
正方形FHCI,它的面积是b2.
长方形DIFG和长方形FHBE,它们的面积都是ab
由此,我们可以列出下面这个等式:b2 2ab=74567.
将a=400带入等式,b(b 800)=74567.
根据这个等式,我们在10~90这9个整十数中估计b的取值。它大致应该等于80或90这两个比较大的数,但是,分别将这两个数带入等式检验后发现,它们都无法使等式成立,当b=80时,b(b 800)=70400<74567;而当b=90时,b(b 800)=80100>74567.由此可知,80<a<90,我们在234567平方根的第二位(十位)上取数字8.74567-70400=4167.
接下来我们根据4167来确定234567平方根第三位(个位)上的数字。在正方形ABCD的AB边上取一点J(J在E、B两点之间),AJ=c=AE EJ=480,JB=d。做正方形AJKL,它的边长是a=400,面积a2=160000,从大正方形ABCD中挖去小正方形AJKL,剩下的面积是74567-70400=4167,它由三部分构成:
正方形NCMK,它的面积是b2.
长方形DNKL和长方形KMBJ,它们的面积都是cd。
由此,我们可以列出下面这个等式:d2 2cd=4167.
将c=480带入等式,d(d 960)=4167.
根据这个等式,我们在1~9这9个整数中估计d的取值。它大致应该等于4或5,分别带入等式检验一下,当d=4时,d(d 960)=3856<4167;而当d=5时,d(d 960)=4835>4167,已经超出了大正方形ABCD的面积。据此,我们在234567平方根的第三位(个位)上取数字4.4167-3856=311234567直到它平方根的个位依然没有开尽,《孙子算经》最终给出的答案是484(),其实这只是一个近似值,在确定分数部分时,古人依然用上述方法,在正方形ABCD之内做一个边长为e=484的正方形,设f=AB-e,重复上述推导过程得出等式f(f 968)=311,f=311÷(f 968),因为f与968相比太小了,所以,古人在除数中便把它忽略掉,最终求得f=(),加上整数部分,最终234567的平方根近似等于484()。