`res'
-----

res(VAR,POLY1,POLY2[,MOD])
     :: VAR $B$K4X$9$k(B POLY1 $B$H(B POLY2 $B$N=*7k<0(B.

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

VAR
     $BITDj85(B

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

MOD
     $BAG?t(B

   * $BFs$D$NB?9`<0(B POLY1 $B$H(B POLY2 $B$N(B, $BJQ?t(B VAR $B$K4X$9$k(B $B=*7k<0$r5a$a$k(B.

   * $BItJ,=*7k<0%"%k%4%j%:%`$K$h$k(B.

   * $B0z?t(B MOD $B$,$"$k;~(B, GF(MOD) $B>e$G$N7W;;$r9T$&(B.

     [0] res(t,(t^3+1)*x+1,(t^3+1)*y+t);
     -x^3-x^2-y^3

