《九章算术》卷4中有“开方术”和“开立方术”。《九章算术》中的这些算法后来逐步推广到开更高次方的情形,并且在宋元时代发展为一般高次多项式方程的数值求解。秦九韶是这方面的集大成者,他在《数书九章》(1247年)一书中给出了高次多项式方程数值解的完整算法,即他所称的“正负开方术”。
用现代符号表达,秦九韶“正负开方术”的思路如下:对任意给定的方程
f(x)=a[0]x^n+a[1]x^(n-1)+……+a[n-2]x^2+a[n-1]x+a[n]=0 (1)
其中a[0]≠0,a[n]<0,要求(1)式的一个正根。秦九韶先估计根的最高位数字,连同其位数一起称为“首商”,记作c,则根x=c+h,代入(1)得
f(c+h)=a[0](c+h)^n+a[1](c+h)^(n-1)+……+a[n-1](c+h)+a[n]=0
按h的幂次合并同类项即得到关于h的方程:
f(h)=a[0]h^n+a[1]h^(n-1)+……+a[n-1]h+a[n]=0 (2)
(注:这里(2)和(1)式子里的a[i],一般是不一样的。)
于是又可估计满足新方程(2)的根的最高位数字。如此进行下去,若得到某个新方程的常数项为0,则求得的根是有理数;否则上述过程可继续下去,按所需精度求得根的近似值。
如果从原方程(1)的系数a[0],a[1],…,a[n]及估值c求出新方程(2)的系数a[0],a[1],…,a[n]的算法是需要反复迭代使用的,秦九韶给出了一个规格化的程序,我们可称之为“秦九韶程序”,他在《数书九章》中用这一算法去解决各种可以归结为代数方程的实际问题,其中涉及的方程最高次数达到10次,秦九韶解这些问题的算法整齐划一,步骤分明,堪称是中国古代数学算法化、机械化的典范。