abcuv solves the polynomial equation

C(x)=U(x)*A(x)+V(x)*B(x) |

where A,B,C are given polynomials and U and V are unknown polynomials. C must be a multiple of the gcd of A and B for a solution to exist. abcuv takes 3 expressions as argument, and an optional variable specification (which defaults to x) and returns a list of 2 expressions (U and V). Alternatively, the polynomials A,B,C may be entered as list-polynomials.

Input :

abcuv(x

`^`

2+2*x+1 ,x`^`

2-1,x+1)Output :

[1/2,1/-2]

Input :

abcuv(x

`^`

2+2*x+1 ,x`^`

2-1,x`^`

3+1)Output :

[1/2*x

`^`

2+1/-2*x+1/2,-1/2*x`^`

2-1/-2*x-1/2]Input :

abcuv([1,2,1],[1,0,-1],[1,0,0,1])

Output :

[poly1[1/2,1/-2,1/2],poly1[1/-2,1/2,1/-2]]