  We present an iterative algorithm for calculating approximate greatest common
divisor (GCD) of univariate polynomials with the real or the complex
coefficients. For a given pair of polynomials and a degree, our algorithm finds
a pair of polynomials which has a GCD of the given degree and whose
coefficients are perturbed from those in the original inputs, making the
perturbations as small as possible, along with the GCD. The problem of
approximate GCD is transfered to a constrained minimization problem, then
solved with the so-called modified Newton method, which is a generalization of
the gradient-projection method, by searching the solution iteratively. We
demonstrate that, in some test cases, our algorithm calculates approximate GCD
with perturbations as small as those calculated by a method based on the
structured total least norm (STLN) method and the UVGCD method, while our
method runs significantly faster than theirs by approximately up to 30 or 10
times, respectively, compared with their implementation. We also show that our
algorithm properly handles some ill-conditioned polynomials which have a GCD
with small or large leading coefficient.
