
then we know that p(n)
0q(n)
n−q(n)
0p(n)
n= 0 so the list
p(n)
0qn−q(n)
0pnends with 0so the list manipulation
is :
˜qn=RotateRight[First[pn]qn−First[qn]pn]
where RotateRight[list] rotate the list to the right
(RotateRight[{a,b,c}]={c,a,b}).
So we have the same Bezout argument, the
gcd(Pn(x), Qn(x)) must divide Pn−1(x)and
Qn−1(x)or Pn(x)and ˜
Qn(x). Repeating ktimes the
iteration, it must divide Pn−k(x)and Qn−k(x).
If we reach a constant : P0(x) = p(0)
0and Q0(x) =
q(0)
0=−p(0)
0then gcd(Pn(x), Qn(x)) = 1. If we
reach, at some stage jof iteration, Pn−j(x)=0or
Qn−j(x) = 0 then the previous stage j−1contains
the gcd.
Repeating these steps decreases the degree of poly-
nomials. Reversing the process enables us to find
a combinations of Pn(x)and Qn(x)which gives a
monomial xkand the polynomials are co-prime, or
we reach a 0-polynomial before reaching the constant
and Pn(x),Qn(x)have a non trivial gcd.
2.1 Result
When dealing with numbers the recurrence could
gives large numbers so we can normalise the poly-
nomials by some constant
Pn−1(x) = αn−1
x(q(n)
0Pn(x)−p(n)
0Qn(x))
Qn(x) = βn−1(q(n)
nPn(x)−p(n)
nQn(x)) (3)
choosing for example αand βsuch that the sum
of absolute value of the coefficients of Pn−1(x)and
Qn−1(x)are 1:α−1
n−1=n−1
k=0 ∥p(n−1)
k∥,β−1
n−1=
n−1
k=0 ∥q(n−1)
k∥, or that the maximum of the coeffi-
cients is always 1:α−1
n−1=max(p(n−1)
k),β−1
n−1=
max(q(n−1)
k).
For example P8(x) = x8−4x6+ 4x5−29x4+
20x3+ 24x2+ 16x+ 48 and Q8(x) = x8+ 3x7−
7x4−21x3−6x2−18x, and let’s use the “max”
normalisation. The first iteration says that gcd must
divide P7(x)and Q7(x):
P7(x) = −1
21xQ8(x)and Q7(x) = 1
48(P8(x)−Q8(x))
P7(x) = −x7
21 −x6
7+x3
3+x2+2x
7+6
7and Q7(x) =
−x7
16 −x6
12 +x5
12 −11x4
24 +41x3
48 +5x2
8+17x
24 + 1, then
gcd divide
P6(x) = x6
78 −2x5
13 −2x4
13 +11x3
13 −67x2
78 +x−9
13
Q6(x) = x6
4+x5
5−11x4
10 +x3−33x2
20 +4x
5−3
10
then gcd divide
P5(x) = 22x5
57 +8x4
19 −31x3
19 +x2−115x
57 +11
19
Q5(x) = −32x5
187 −19x4
187 +155x3
187 −151x2
187 +x−12
17
etc.. finally gcd divide
P3(x) = x3+ 3x2+x+ 3
Q3(x) = x3
3+x2+x
3+ 1
the next step will give Q2(x) = 0
(3Q3(x)−P3(x) = 0), with the last step:
P2(x) = P8(x)88
63x4+50
63x3+229
378x2+143
378x−
Q8(x)−704
189x5−400
189x4+164
189x3−100
189x2+143
378x=
x3+ 3x2+x+ 3 and
Q2(x) = P8(x)−6
x3+x−1
x−
Q8(x)16
x4−8
x2+x+4
x−3= 0
so we have gcd(P8(x), Q8(x)) = x3+3x2+x+3
2.2 On formal polynomials
Doing the algorithm on formal polynomials gives au-
tomatically the resultant or the discriminant of Pn(x)
and Qn(x).
For example for the gcd of Pn(x)and Pn(x)′for
formal polynomials (we always cancel the term xm−1
by translation) we have:
P3(x) = x3+p x +q Q3(x) = P3(x)′= 3x2+p
gives after 3 iterations the well known discriminant
(4p3+ 27q2), and the Bezout expression is: p(9qx +
2p2)P3(x)−(3pqx2+(2p3+9q2)x+ 2p2q)Q3(x) =
−(4p3+ 27q2)x3and 3p(2px −3q)P3(x)−(px −
3q)(2px + 3q)Q3(x) = (4p3+ 27q2)x2
For the general polynomial of degree 4:
P4(x) = x4+p x2+q x+r Q4(x) = 4x3+2p x+q
in 5 iterations we have the discriminant is [3]
disc = 256r3−128p2r2+144pq2r−27q4+16p4r−4p3q2
A more formal case [3] is: Pm(x) = xm+a x +b
and Qm(x) = Pm(x)′=m xm−1+aapplying the
procedure gives then the discriminant [3]
mmbm−1+ (m−1)m−1am(4)
3 Conclusion
The algorithm developed here could be use for formal
or numerical calculation of the gcd of two polynomi-
als, or the discriminant and the resultant. It doesn’t
use matrix manipulation nor determinant calculations
and for polynomials of order n, it takes nsteps to
achieve the goal. It provide also the two polynomi-
als needed for Bezout identity.
WSEAS TRANSACTIONS on MATHEMATICS
DOI: 10.37394/23206.2022.21.99
Nardone Pasquale, Sonnino Giorgio