直除法消元顯得繁瑣,劉徽在方程章“牛羊直(同值)金”問中創造了互乘相消法。此問是“今有牛五、羊二,直金十兩;牛二、羊五,直金八兩。問牛、羊各直金幾何?”方程是:
劉徽用右行牛的係數5乘左行,又用左行牛的係數2乘右行,得
兩行相減,得21y=20,y=20/21,這就是互乘相消法。劉徽說,以小推大,此種方法“雖四、五行不異也”,就是說,這是一種普遍方法。
可惜,劉徽的這種先進思想700多年間未引起數學家們的重視。賈憲更多地用互乘相消法為方程章題目作細草,有時互乘後先約簡再相消,如方程章第5問:“今有上禾六秉,損實一斗八升,當下禾一十秉;下禾一十五秉,損實五升,當上禾五秉。問上、下禾實一秉各幾何?”
列出方程:
“互乘兩行,皆十約之”,運用正負術相消得,4y=12,y=3,x=8
但在有的題目中,賈憲仍用直除法。因為在這些方程中,用直除法更簡便些,必須因題制宜。
秦九韶則完全廢止了直除法,全部使用互乘相消法。有時他在互乘前先求出兩相乘數的公約數,約簡後再互乘,顯得更簡捷。如《數書九章》“均貨推本”問列出方程
欲以第一行消去第三行x的係數525,而525與第一行x的係數5有等數5,便以5約525,得105,便以105乘第一行,加第三行,得
第一、四行x的係數有公因子5,第二、三行y的係數有公因子3,但前者比後者大,故先約後者的係數。以3約33得11,約105得35,以11乘第三行,以35乘第二行,減第三行,得
便求出z的值。類此,依次求出y、x、u的值。