### Algebraic Factorization: 55 Examples             
### Examples 1-40 are listed in Wang (1992)
### (C) 2003 by Dongming Wang, LIP6-CNRS

print(`55 examples loaded: try f.i; A.i; X.i; i = 1..55`):
            
f1 := x^4-1: A1 := [a^2+1]: X1 := [a,x]: 

f2 := x^4+a*x^3+2*x^3+2*a*x^2+5*x^2+2*a*x+6*x+6: 
A2 := [a^2+1]: X2 := [a,x]: 
  
f3 := 2*a*x^4+3*x^4+3*a*x^3-2*x^3-2*a*x^2-2*x^2+a*x-1: 
A3 := [a^2+1]: X3 := [a,x]: 

f4 := y^2+x^2: A4 := [a^2+1]: X4 := [a,x]:
                                                 
f5 := x^2+x-1: A5 := [a^2-5]: X5 := [a,x]:

f6 := x^4+3*x^2+4: A6 := [a^2+a+2]: X6 := [a,x]: 
                   
f7 := 64*x^6-4: A7 := [a^3+2]: X7 := [a,x]: 

f8 := 16*x^4+8*x^3+4*x^2+2*x+1: A8 := [a^4+a^3+a^2+a+1]: X8 := [a, x]: 
                                      
f9 := x^4+y^4: A9 := [a^4+1]: X9 := [a,x]:

f10 := x^8+2*x^7+(-y-z^2-8)*x^6+(-4*y+6*z^2-40)*x^5+(y^2+(2*z^2-48)*y
       +z^4+32*z^2+256)*x^4+(-4*y^2+(2*z^2+32)*y-4*z^4+32*z^2+960)*x^3
       +(-y^3+(-3*z^2+28)*y^2+(2*z^4-4*z^2+384)*y-z^6-32*z^4+144*z^2
       -1152)*x^2+(2*y^3+(-4*z^2+72)*y^2+(6*z^4+24*z^2-576)*y+2*z^6
       -48*z^4-576*z^2+3456)*x+y^4+(-z^2-12)*y^3+(z^4+24*z^2+144)*y^2
       +(-z^6+24*z^4-432*z^2-1728)*y+z^8-12*z^6+144*z^4-1728*z^2+20736: 
A10 := [a^4+a^3+a^2+a+1]: X10 := [a,y]:

f11 := x^5-5*v*y*x^3-5*u*z*x^3+5*u*y^2*x^2+5*z^2*y*x^2+5*v^2*z*x^2
       +5*v*u^2*x^2-5*z*y^3*x+5*v^2*y^2*x-5*v*u*z*y*x-5*u^3*y*x
       -5*v*z^3*x+5*u^2*z^2*x-5*v^3*u*x+y^5-5*v*u*y^3+5*v*z^2*y^2
       +5*u^2*z*y^2-5*u*z^3*y-5*v^3*z*y+5*v^2*u^2*y+z^5+5*v^2*u*z^2
       -5*v*u^3*z+u^5+v^5: 
A11 := [a^4+a^3+a^2+a+1]: X11 := [a,x]: 

f12 := x^2+a*x+1: A12 := [a^2+1]: X12 := [a,x]:

f13 := x^3-3: A13 := [a^6+3*a^5+6*a^4+a^3-3*a^2+12*a+16]: 
X13 := [a, x]: 
    
f14 := x^14-2*x^8-2*x^7-2*x^4-4*x^3-x^2+2*x+1: A14 := [a^2-2*a-1]: 
X14 := [a,x]:
                     
f15 := (47*x^6+21*x^5+598*x^4+1561*x^3+1198*x^2+261*x+47)/47:
A15 := [a^2-a+3]: X15 := [a,x]: 

f16 := x^8-x^7-x^6+x^4-x^2+x+1: A16 := [a^4-a+1]: X16 := [a,x]: 

f17 := x^9+9*x^8+36*x^7+69*x^6+36*x^5-99*x^4-303*x^3-450*x^2-342*x-226:
A17 := [a^9-15*a^6-87*a^3-125]: X17 := [a,x]:
                                            
f18 := x^4+2*x^3+x^2-1: A18 := [a^2+1, b^2-3, c^2+5]: 
X18 := [a,b,c,x]:
 
f19 := x^9-54: A19 := [a^9-54]: X19 := [a,x]:

f20 := x^2-z^4+2*z^2*a-z: A20 := [a^2-z]: X20 := [a,x]:

f21 := x^2+x+1: A21 := [a^2+3]: X21 := [a,x]: 

f22 := 745092*b-252156+540900*c2+21032664*c2^2*b^2+2010720*b^2
       +7117713*c2^2*b-132367*c2^2+3076830*c2^3-7843500*c2^3*b^2
       +2792322*c2^3*b-3779244*b*c2-10724400*b^2*c2+21225240*b*c2^5
       +26306208*b^2*c2^5+8257464*c2^5-436536*c2^4+6094008*b^2*c2^4
       +594432*b*c2^4:
A22 := [-1+b+6*b^2+12*b^3]: X22 := [b,c2]:

f23 := -370*x^2*y-10*x^3+60*x^2*z+4*x*y-24*z*y+74*r*z*y+2*r*z*x+37*r*z
       -37*y+12*r^3-24*r:   
A23 := [r^2-2+z^2, -r*z+y+4*y^2]: X23 := [z, y, x]: 

f24 := 7*u4^4-20*a46^2:
A24 := [-14777320454577328574847376218384384*a46^7
         -90187229977808822224071069604101120*a46^8
         -1873917969609345968295082668021120*a46^6
         -174868672571180176972218224444160*a46^5
         +6040454553390756509792153750*a46^2
         +761038687880048862537750000*a46
         -1730583792842092890653925661427755008*a46^10
         -438629158320947237060892238222663680*a46^9
         -325577720150105105056746125600*a46^3
         -10842909266386108209323717470464*a46^4
         +95399598878649979020035953388421120000*a46^17
         -68682890032448016678387770521445990400*a46^15
         -35887943008750096012788225307312128000*a46^16
         -55371393130945624359899888778710876160*a46^14
         +5480334637123239936000000000000000000*a46^32
         +23330567455181792870400000000000000000*a46^31
         -22260410953422455439360000000000000000*a46^30
         +13745464623924567359765625
         -379039147753503876710400000000000000000*a46^29
         -1305289515920841108357120000000000000000*a46^28
         -2513206749095438732067078144000000000000*a46^24
         -3719352832967788154654294016000000000000*a46^25
         -3732122087704522640861429760000000000000*a46^26
         +1115017234825756502266418697338880000000*a46^20
         +754105941740753012036565070774272000000*a46^19
         +366165541639546056314932007691878400000*a46^18
         -2661897053317069229418086400000000000000*a46^27
         -14864144948902806765408032648384020480*a46^12
         -32216575796923751615236695208550203392*a46^13
         -5594938207040140198621915805046702080*a46^11
         +1161591322791533818604192111001600000000*a46^21
         -801954273356818654530266726400000000000*a46^23
         +559393438086807446512516202496000000000*a46^22]:
X24 := [a46,u4]:
  
f25 := -y^4-y^2*z^2+y^2*r^2+z^2-2-z+r^2*z+r^2:
A25 := [-1+z^3-z^2+r^2]: X25 := [z, y]: 
   
f26 := 2*y*z^3+t^3+z*t*y^2-t^2+2*t^5-t^8: 
A26 := [-z^5+t^4]: X26 := [z,y]:

f27 := -338574*x^3-98119*x^6-560253*x^2+403637*x^4+822750*x+78:
A27 := [98885*a+93335*a^3+75167*a^5+74791]: X27 := [a,x]:

f28 := 22884*x^6-2397*x^5+5896+116*x^8:
A28 := [-455*a-449*a^6+894*a^4-89*a^5+669*a^2+203]: X28 := [a,x]:

f29 := -1479*x-896*x^7+256*x^5-532*x^9+948*x^6-128*x^3+87:
A29 := [-64-82*a^5-50*a^7+26*a+98*a^4]: X29 := [a,x]:

f30 := -16*x^7+4*x^5+125-70*x^10+14*x^3+18*x^6+42*x^4:
A30 := [-56+10*a^8-a+8*a^4+10*a^5-10*a^3-6*a^7]: X30 := [a,x]:

f31 := 7*a^7*x+7*a-4*a^8*x+3*a^4*x^9+7*a^3*x^8-4*a^8*x^7+a^8*x^5
       +8*a^6*x^6+7*x^5+a^5*x^3+5:
A31 := [-9*a^8+18*a^6+4*a^4+9*a^11+10*a^2+19]: X31 := [a,x]:

f32 := 28446*u^5*x^4-64736*u^5*a^2+35836*u^2-81532*u^4*x^4
       +91392*u^4*a^2-50592*u-3910*a*u^7*x^4-3910*a*u^4*x^4
       +42576*u^3*x^4-32256*u^3*a^2+17856+2760*a*u^6*x^4
       +2760*a*u^3*x^4-23800*u^3*a^2*x^4+16800*u^2*a^2*x^4
       -980*u^7*a^2*x^4-1610*u^8*x^4-39100*u*x^4+27600*x^4:
A32 := [34*u*a^3-24*a^3-14*u^2*a^2-23*u^3-23]: X32 := [a,x]:
                                                        
f33 := -7806763730576844*a+1053282739677620760*b*a-70050816975335427
       +38797250054987952*a*b*x^2-1167924471487117344*a*b*x^3
       -1535845309390585710*b+348131332847121516*b*x^2
       +161712096025873536*b*x^3:
A33 := [-41-33*a^2, -76230-39237*b^2*a+2706*b^2]: X33 := [a,b,x]:

f34 := 20*u*x^2*a*b+56*u*x^2*a^2-144*a*u^5-2*u*x^3+76*u*x^3*a^2
       -25*a*b*u^3+79*u*x-95*u*x*a+45*a*b+1+74*u^4*x:
A34 := [600639*u^2*a^2+6256052*u*a-53117*u^2*a+2544232*u^3-2553, 
        -4172795267-8120187857*u-4985396964*u^3*b+463782*u^2*b^2]: 
X34 := [a,b,x]:

f35 := 63689*v-18924*u^5*v*x^2+49301*u^7-19024*v^3*x^7
       +76684*u^7*v^6*x^6-86539*u^7*v^7*x^5+77548*u^3*v*x^6
       +90071*u^2-31994*u^4*v^4*x^5-76084*u^5*v^5*x^2+59049:
A35 := [-429*u^2*v^3+6707*u^5*v^6*a^2+13209*u^4*v^3*a
        +4094*u^6*v*a^5-7756*u^6*v^2+1156*u^3*v^5*a-1062882]: 
X35 := [a,x]:

f36 := -10751498505384714*a^4*x^4-121954295675520*a^4*x^5
       -2047559767793694*a^2*x^3+2192898039411618*a^4*x^3
       -687166614219393*a^2*x^2-214279510583061*x+229489329705867*a^2*x
       +44287414504641+3900606029320896*a^4*x^6-3926714503412736*a*x^6
       +811575648930816*a*x^5-1665720647059392*a^2*x^6
       +344272117033152*a^2*x^5-475174228471488*a^3*x^6
       +98209287304128*a^3*x^5:
A36 := [747*a^3-752-679*a^5-319*a-91*a^2]: X36 := [a,x]:

f37 := 16172800*a^4*x^2-2553600*a^4*x^5+10282720*a^3*x^4-1787520*a^3*x^7
       +23566080*a^2*x^2-3720960*a^2*x^5+2085440*a^4*x^3-329280*a^4*x^6
       +6575520*a^3*x+43411200*a^2-6854400*a^2*x^3+30387840*a*x^2
       -4798080*a*x^5+63256320-9987840*x^3+9775500*x-1543500*x^4
       +3351600*a^2*x-529200*a^2*x^4:
A37 := [-48*a^3+64*a^5-210-72*a^2]: X37 := [a,x]:

f38 := 2916*u^3*a^2*x^3-648*u^4*a^2-34020*u-2205*u*a*x^2+4347*x^5
       -966*u*x^2+567*u^4*a*x^5-126*u^5*a*x^2-504*u^2*a*x^5+112*a*u^3*x^2
       +189*a^2*x^5-42*u*a^2*x^2:
A38 := [-69-9*u^4*a+3*a^3*u^3+8*u^2*a-3*a^2]: X38 := [a,x]:

f39 := -1411699917684*b*x^4*a-391282832250*b*x^3*a+131077373175*x^2
       +404325593325+215074138500*a^2*b*x^5+1517297482224*a*b*x^5
       -973376428375*a*b*x^2-442220639544*b*x^5-130427610750*b*x
       +54014191875*a^2*x^2+250908094800*a*x^6-1159429063650*a*x^3
       +1275035638725*x^2*a-33201454500*x^4*a-28897562250*x^4*a^2
       +51088117500*a^2*x^3-482225626800*x^5*a-419714897400*x^5*a^2
       +218382971400*a^2*x^6+392099102679*b*x^4-149400956250*b*x^4*a^2
       +469539398700*a^2*b*x^2+13636112350*x^3+139933050525*x^4
       -91628301600*x^6+71962276950*x^5:
A39 := [75*a^3+83*a-23, 19322609*b^2+3810525*a^2+4378050*a+9247081]: 
X39 := [a,b,x]:

f40 := 76508025792*b-199449169920*c+1032309269376*x+624894448320*c*x
       +1544744157120*a*b*x^2-206024417280*c*b+787935520944*b*a^2*c*x
       -2093645256720*a^2*c*x-1363009550400*c*a^2*b*x^2+53847290880*b*c*x^2
       +2280107898000*a*x-2106965243592*c*a-753862072320*c*x^2
       +343459073232*a^2*x-1071112361088-78976026624*b*x
       +2148915057120*c*a*x^2-1319509245600*a^2*c*x^2-220449800160*b*c*x
       +843551154864*a*c*x+671296226304*a^2*b+940971264024*c*a^2
       +2155706729328*c*a*b*x+1766605725984*a*b*c:
A40 := [46*a^3+98*a-16, 94*b^2+35*a-57, 3*c^2*b-42*c^2-30*c*a+78*c*b+34]:
X40 := [a,b,c,x]:

# Most of the following 15 examples come from geometric theorem proving 
# (see Wang 1994, 2001)

f41 := x2^2*u3-2*x2*u2*u1+2*x2*u1^2-u1^2*u3:
A41 := [-u1^2*u3+2*u1*u2*x1+2*u1^2*x1+u3*x1^2]:
X41 := [x1, x2]:

f42 := -u1^2*x3-x3^2*u3+x3*u3^2+u2^2*x3+u1^2*u3:
A42 := [-u1^2*u3+2*u1*u2*x1+2*u1^2*x1+u3*x1^2, 
        x2^2*u3-2*x2*u2*u1+2*x2*u1^2-u1^2*u3]:
X42 := [x1, x2, x3]:

A43 := [4*x2^2-3]:
f43 := u1^2-4*u1*x5+2*u1-3*u2^2+4*x5^2-4*x5+1:
X43 := [x2, x5]:

A44 := [4*x2^2-3]:
f44 := u1^2-4*u1*x3-3*u2^2+4*x3^2:
X44 := [x2, x3]:

f45 := -4*u1^2-16*y3*u1*u2-y3^2*u1^2+4*y3*u1^2+3*y3^2+12*u1^2*u2^2
       -y3^2*u2^2+8*u2*u1*y3^2+3*y3^2*u1^2*u2^2-12*y3*u1^2*u2^2:
A45 := [y0^2-3]:
X45 := [y0, y3]:

f46 := -1-8*y2^2*u2^4*u3*u1^2-2*u1^4*u2^4-8*u2^4*u1^4*u3
       -12*u2^4*u3*u1^2+4*y1*u1^2*u2^4+8*u2^2*u3*u1^2+4*u2^6*u1^4*u3
       +4*u1^4*u3*u2^2-2*u2^8*u3*u1^2+8*u2^6*u3*u1^2-4*y2^2*u1^4*u2^4
       -4*y2*u2^6*u1^4+8*y2*u1^4*u2^4+4*y2*u1^2*u2^8+8*y2*u1^2*u2^4
       -8*y2*u1^2*u2^2-8*y2*u2^6*u1^2-2*y1*u1^2*u2^8+8*y2*u2^4+4*y2*u1^2
       -2*u3*u1^2+u1^4*u2^8+4*u3*u2^2+4*u2^6*u3-8*u2^4*u3+2*u2^4+u1^4
       -u2^8+4*y2^2*u2^4+8*y2^2*y1*u1^2*u2^4-4*y2*u2^6-4*y2*u2^2-2*y1*u1^2
       -4*y2*u2^2*u1^4:
A46 := [4*y1^2*u1^2*u2^4+6*u1^2*u2^4-2*u2^2-2*u2^6-2*u2^2*u1^4-2*u2^6*u1^4
        +u1^2+u1^2*u2^8+4*u2^4*u3-4*u2^4*u1^4*u3-4*u2^4*u3^2*u1^2]:
X46 := [y1, y2]:

f47 := -1-2*u1^4*u2^4-8*y3^2*y1*u1^2*u2^4+8*y3*u1^4*u2^4-8*u2^4*u1^4*u3
       -12*u2^4*u3*u1^2-4*y1*u1^2*u2^4+8*u2^2*u3*u1^2+4*u2^6*u1^4*u3
       +4*u1^4*u3*u2^2-2*u2^8*u3*u1^2+8*u2^6*u3*u1^2+2*y1*u1^2*u2^8
       -4*y3^2*u1^4*u2^4-4*y3*u2^2*u1^4-4*y3*u2^6*u1^4+8*y3*u2^4
       -2*u3*u1^2+u1^4*u2^8+4*u3*u2^2+4*u2^6*u3-8*u2^4*u3+2*u2^4+u1^4
       -u2^8-8*y3^2*u2^4*u3*u1^2+4*y3*u1^2*u2^8+2*y1*u1^2+4*y3^2*u2^4
       +4*y3*u1^2-4*y3*u2^6-4*y3*u2^2+8*y3*u1^2*u2^4-8*y3*u1^2*u2^2
       -8*y3*u2^6*u1^2:
A47 := [4*y1^2*u1^2*u2^4+6*u1^2*u2^4-2*u2^2-2*u2^6-2*u2^2*u1^4-2*u2^6*u1^4
        +u1^2+u1^2*u2^8+4*u2^4*u3-4*u2^4*u1^4*u3-4*u2^4*u3^2*u1^2]:
X47 := [y1, y3]:

f48 := 2*x3^2+2*x3-1:
A48 := [3*x2^2-1]:
X48 := [x2, x3]:

f49 := x5*x1-4*x1-5-x5^2+x5:
A49 := [x1^2-6*x1-11, x1*x2^2+52*x1+3*x2^2+76]:
X49 := [x1, x2, x5]:

f50 := -2*y*x3^2-y^2*x1+x3^2*x2+2*x1*x2*y+x3^2*x1-x2*y^2:
A50 := [x3^2*x2^2+4*x2^2*x1*x4-4*x2^2*x4^2-4*x3^2*x4*x2
        +8*x2*x4^3+2*x2*x1*x3^2-12*x4^2*x2*x1+4*x4*x2*x1^2
        -4*x1^2*x4^2-4*x4^4+4*x3^2*x4^2+x3^2*x1^2-4*x3^2*x4*x1
        +8*x1*x4^3]:
X50 := [x4, y]:

f51 := -16*u2^2*y^2+2*u1^2*u2^2+u2^4+2*u2^2+1-2*u1^2+u1^4:
A51 := [-y1^2*u1^2+u1^2+y1^4-y1^2-u2^2*y1^2]:
X51 := [y1, y]:

f52 := -16*u1*u2^2*y^2-16*u1*u2^2*y1^2+18*u1*u2^2-6*u2^2*u1^2*y1
       +2*u2^2*u1^3-16*y1*u2^2*y^2+32*u2^2*y1^3-22*u2^2*y1-7*u2^4*y1
       +u2^4*u1+u1+y1-2*u1^3-2*u1^2*y1+u1^5+u1^4*y1:
A52 := [-y1^2*u1^2+u1^2+y1^4-y1^2-u2^2*y1^2]:
X52 := [y1, y]:

f53 := 4*y_b^2*y_c*y_d*x_c*x_d+4*y_b*y_c*y_d^2*x_b*x_c-4*y_b^2*y_c^2*y_d^2
       -2*y_b*x_c*x_b*y_c+4*y_b*y_c^2*y_d*x_b*x_d+2*y_c^2*y_b^2-y_b^2
       +2*y_d^2*y_b^2-2*y_b*x_d*x_b*y_d-y_c^2+2*y_d^2*y_c^2
       -2*x_c*y_d*y_c*x_d-y_d^2+y_a^2:
A53 := [x_b^2+y_b^2-1, x_c^2+y_c^2-1, x_d^2+y_d^2-1]:
X53 := [x_b, x_c, x_d, y_a]:

f54 := 4*x^2*x3^2*a^2-5*x^2*x3^2*x2^2+3*x^2*x2^3*x4-3*x^2*x2*x4*a^2
       -2*x*x3*x2^3*x1-2*x*x3*x2*x1*a^2-6*x*x2^3*a^2+6*x*x2^5-2*x2^4*x1^2
       -2*x2^2*x1^2*a^2:
A54 := [x3^2*x^4+4*x3*x^3*x2*x1+3*x^2*x2*y^2*x4+4*x2^2*x1^2*x^2
        -4*x^2*x3^2*y^2+2*x*x3*y^2*x2*x1+6*x*x2^3*y^2+2*x2^2*x1^2*y^2, 
        -5*x^2*x3^2*y^2+x^2*x3^2*r^2+3*x^2*x2*y^2*x4+4*x*x3*x2*x1*r^2
        -2*x*x3*y^2*x2*x1+6*x*x2^3*y^2-2*x2^2*x1^2*y^2+4*x2^2*x1^2*r^2]:
X54 := [y,r,a]:

f55 := 4*x3^2*R^2-x3^4-(x2^2+x1^2)*x3^2-x1^2*x2^2:
A55 := [4*x4^4-8*(x2+x1)*x4^3-4*(x3^2-x2^2-3*x1*x2-x1^2)*x4^2
        +4*(x2+x1)*(x3^2-x1*x2)*x4-(x2+x1)^2*x3^2]:
X55 := [x4, R]:

### End of file ###