`gcd', `gcdz'
-------------

gcd(POLY1,POLY2[,MOD])

gcdz(POLY1,POLY2)
     :: POLY1 $B$H(B POLY2 $B$N(B gcd.

RETURN
     $BB?9`<0(B

POLY1,POLY2
     $BB?9`<0(B

MOD
     $BAG?t(B

   * $BFs$D$NB?9`<0$N:GBg8xLs<0(B (GCD) $B$r5a$a$k(B.

   * `gcd()' $B$OM-M}?tBN>e$NB?9`<0$H$7$F$N(B GCD $B$rJV$9(B.  $B$9$J$o$A(B,
     $B7k2L$O@0?t78?t$G(B, $B$+$D78?t$N(B GCD $B$,(B 1 $B$K$J$k$h$&$JB?9`<0(B, $B$^$?$O(B,
     $B8_$$$KAG$N>l9g$O(B 1 $B$rJV$9(B.

   * `gcdz()' $B$O(B POLY1, POLY2 $B$H$b$K@0?t78?t$N>l9g$K(B,
     $B@0?t4D>e$NB?9`<0$H$7$F$N(B GCD $B$rJV$9(B.  $B$9$J$o$A(B, `gcd()' $B$NCM$K(B,
     $B78?tA4BN$N@0?t(B GCD$B$NCM$r3]$1$?$b$N$rJV$9(B.

   * $B0z?t(B MOD $B$,$"$k;~(B, `gcd()' $B$O(B GF(MOD) $B>e$G$N(B GCD $B$rJV$9(B.

   * `gcd()', `gcdz()' Extended Zassenhaus $B%"%k%4%j%:%`$K$h$k(B.
     $BM-8BBN>e$N(B GCD $B$O(B PRS $B%"%k%4%j%:%`$K$h$C$F$$$k$?$a(B, $BBg$-$JLdBj(B,
     GCD $B$,(B 1 $B$N>l9g$J$I$K$*$$$F8zN($,0-$$(B.

     [0] gcd(12*(x^2+2*x+1)^2,18*(x^2+(y+1)*x+y)^3);
     x^3+3*x^2+3*x+1
     [1] gcdz(12*(x^2+2*x+1)^2,18*(x^2+(y+1)*x+y)^3);
     6*x^3+18*x^2+18*x+6
     [2] gcd((x+y)*(x-y)^2,(x+y)^2*(x-y));
     x^2-y^2
     [3] gcd((x+y)*(x-y)^2,(x+y)^2*(x-y),2);
     x^3+y*x^2+y^2*x+y^3

$B;2>H(B
     *Note `igcd igcdcntl': igcd igcdcntl.

