∫π每天一道数学题
← 返回孙子算经
孙子算经 · 第 62 讲 · 2026-09-25 · 约 8 分钟

术名:卷下·第27题——方程术的实战范本

一道看似简单的"持钱"问题,却完整呈现了《九章算术》方程术的标准程序。从列出线性方程组到算筹消元,每一步都有章可循,堪称古代线性方程组求解的"操作手册"。

原文

今有甲乙二人持钱,各不知数。甲得乙中半,可满四十八;乙得甲大半,亦满四十八。问:甲乙二人元持钱各几何?

答曰:甲持钱三十六,乙持钱二十四。

术曰: 如方程求之,置二甲一乙钱九十六于右方,置二甲三乙钱一百四十四于左方,以右方二乘左方,上得四,中得六,下得二百八十八钱;以左方二乘右方,上得四,中得二,下得九十六;以右行再减左行,左上空,中余四,以为法,下余九十六钱,为实;上法下实,得二十四钱,为乙钱,以减右下九十六,余七十二为实,以右上二甲为法,上法下实,得三十六为甲钱也。

白话翻译

甲、乙两人各有若干钱,不知道具体数目。如果甲得到乙的一半,就恰好有四十八钱;如果乙得到甲的三分之二("大半"),也恰好有四十八钱。问:甲、乙原来各有多少钱?

答:甲原来有三十六钱,乙原来有二十四钱。

术文说: 用方程术来求解。把"2份甲 + 1份乙 = 96钱"放在右行,把"2份甲 + 3份乙 = 144钱"放在左行。用右行的系数2乘左行,上面得4,中间得6,下面得288钱;用左行的系数2乘右行,上面得4,中间得2,下面得96钱。用右行反复减去左行,左行上面变为空(0),中间余下4作为法,下面余下96钱作为实。用法去除实,得24钱,就是乙的钱数。用24减去右下方的96,余下72作为实,用右行上面的2份甲作为法,用法去除实,得36,就是甲的钱数。

示意图

方程术求解甲乙持钱问题的算筹排列与消元过程

图:方程术求解甲乙持钱问题的算筹排列与消元过程

数学解读

一、建立方程组

设甲持钱 xx,乙持钱 yy。

"甲得乙中半,可满四十八":甲得到乙的一半,即 x+y2=48x + \frac{y}{2} = 48

"乙得甲大半,亦满四十八":"大半"在古代指三分之二,即 y+2x3=48y + \frac{2x}{3} = 48

将两式去分母,化为整数方程:

第一式乘以2: 2x+y=96(1)2x + y = 96 \qquad (1)

第二式乘以3: 2x+3y=144(2)2x + 3y = 144 \qquad (2)

二、现代解法(加减消元法)

用方程(2)减去方程(1): (2x+3y)−(2x+y)=144−96(2x + 3y) - (2x + y) = 144 - 96 2y=482y = 48 y=24y = 24

将 y=24y = 24 代入方程(1): 2x+24=962x + 24 = 96 2x=722x = 72 x=36x = 36

验证:

  • 甲得乙中半:36+242=36+12=4836 + \dfrac{24}{2} = 36 + 12 = 48 ✓
  • 乙得甲大半:24+2×363=24+24=4824 + \dfrac{2 \times 36}{3} = 24 + 24 = 48 ✓

三、古术逐句解释

"置二甲一乙钱九十六于右方"

将方程 2x+y=962x + y = 96 的系数和常数项用算筹摆在右行:上面是甲的系数2,中间是乙的系数1,下面是常数96。

"置二甲三乙钱一百四十四于左方"

将方程 2x+3y=1442x + 3y = 144 摆在左行:上面是甲的系数2,中间是乙的系数3,下面是常数144。

"以右方二乘左方,上得四,中得六,下得二百八十八钱"

用右行甲的系数2乘以左行的每一项:

  • 上面:2×2=42 \times 2 = 4
  • 中间:2×3=62 \times 3 = 6
  • 下面:2×144=2882 \times 144 = 288

"以左方二乘右方,上得四,中得二,下得九十六"

用左行甲的系数2乘以右行的每一项:

  • 上面:2×2=42 \times 2 = 4
  • 中间:2×1=22 \times 1 = 2
  • 下面:2×96=1922 \times 96 = 192

(术文此处"下得九十六"应为"下一百九十二"之误,据计算当为192。)

"以右行再减左行,左上空,中余四,以为法,下余九十六钱,为实"

用右行减去左行(消去甲的项):

  • 上面:4−4=04 - 4 = 0("空")
  • 中间:6−2=46 - 2 = 4("法")
  • 下面:288−192=96288 - 192 = 96("实")

得到 4y=964y = 96。

"上法下实,得二十四钱,为乙钱"

用法除实:y=964=24y = \dfrac{96}{4} = 24,即乙的钱数。

"以减右下九十六,余七十二为实,以右上二甲为法,上法下实,得三十六为甲钱也"

用乙的钱数24代入右行方程 2x+y=962x + y = 96: 2x=96−24=722x = 96 - 24 = 72 x=722=36x = \dfrac{72}{2} = 36

即甲的钱数为36。

四、古今对照验证

步骤古代方程术现代代数法结果
列方程置二甲一乙于右,二甲三乙于左2x+y=962x+y=96,2x+3y=1442x+3y=144一致
消元以右方二乘左方,以左方二乘右方,相减(2)−(1)(2)-(1) 消去 xx一致
求乙中余四为法,下余九十六为实,得二十四2y=482y=48,y=24y=24一致
求甲减右下九十六,余七十二,以二甲为法,得三十六2x=722x=72,x=36x=36一致

五、背景与中西比较

本题的"方程术"源自《九章算术》第八章"方程",是世界上最早的线性方程组系统解法。其核心是"遍乘直除"——通过乘以适当系数再相减,逐步消元。

这与现代线性代数中的高斯消元法在原理上完全一致。不同的是,中国古代用算筹排列成矩阵形式进行操作,而现代用符号和矩阵记号。

时间线对比:

  • 中国《九章方程术》:约公元前1世纪
  • 高斯消元法(命名):19世纪

中国古人早于西方约1800年就已经掌握了线性方程组的系统解法,只是表达方式不同。

高中课本关联

知识点: 人教版高中数学必修第二册·第八章"二元一次方程组"

高考考法:

  1. 传统文化背景题:以古代数学典籍为背景,列出方程组求解,考查数学文化素养。
  2. 方程组应用题:将实际问题抽象为二元一次方程组,考查建模能力。
  3. 算法初步:方程术的程序化思想与算法框图结合,考查逻辑推理。

典型题型:

《九章算术》中的"方程术"相当于现代的( ) A. 代入消元法 B. 加减消元法 C. 配方法 D. 因式分解法

答案:B

思考与拓展

1. 若将题目改为"甲得乙中半,可满四十八;乙得甲中半,亦满四十八",问甲乙各持钱多少?

2. "大半"在古代数学中通常指三分之二。若将"大半"改为"少半"(三分之一),方程组变为 x+y2=48x + \dfrac{y}{2} = 48,y+x3=48y + \dfrac{x}{3} = 48,求甲乙各持钱多少?

3. 本题术文中提到"以右行再减左行","再"字暗示可能需要多次相减。若方程组的系数不便于一次消元,应如何操作?试以方程组 {3x+2y=232x+3y=22\begin{cases} 3x + 2y = 23 \\ 2x + 3y = 22 \end{cases} 为例说明。

一句话总结

本题是方程术的标准范例:通过算筹的"遍乘直除"实现消元,将二元问题化为一元求解,其程序化思想与现代高斯消元法一脉相承,展现了中国古代数学的算法化特征。

— Y. · 2026-09-25