Localization of the Roots of a Polynomial

TOMS429 is a FORTRAN77 library which implements ACM TOMS algorithm 429, for localization of the roots of a polynomial.

While the text of many ACM TOMS algorithms is available online through ACM: or NETLIB:, most of the early algorithms are not available. This is one of them. I typed it in.

This version of the algorithm incorporates corrections and improvements suggested by Driessen and Hunt.


call polyan ( c, cm, n )
where C(1:N) contains the polynomial coefficients, omitting the leading coefficient, which is assumed by normalization to be 1, and starting with the coefficient of X^(N-1); CM(1:N) is a work vector and N is the degree of the polynomial.


TOMS429 is available in a FORTRAN77 version.


  1. HB Driessen, EW Hunt,
    Remark on Algorithm 429,
    Communications of the ACM,
    September 1973, Volume 16, Number 9, page 579.
  2. Paul Saylor, James Sebastian,
    Algorithm 429: Localization of the Roots of a Polynomial,
    Communications of the ACM,
    Volume 15, Number 8, August 1972, pages 776-777.

Source Code:

Examples and Tests:

List of Routines:

You can go up one level to the FORTRAN77 source codes.

Last revised on 03 December 2005.