F_125 = F_5[x]/f ? f=Mod(1,5)*(x^3-x+2) Mod(1, 5)*x^3 + Mod(4, 5)*x + Mod(2, 5) The vector v lists the monic quadratic polynomials which factor in F_5[x] ? v=[];for(m=0,4,for(n=0,m,v=concat(v,[Mod(1,5)*(x-m)*(x-n)]))) ? lift(v) [x^2, x^2 + 4*x, x^2 + 3*x + 1, x^2 + 3*x, x^2 + 2*x + 2, x^2 + x + 4, x^2 + 2*x, x^2 + x + 3, x^2 + 1, x^2 + 4*x + 4, x^2 + x, x^2 + 4, x^2 + 4*x + 3, x^2 + 3*x + 2, x^2 + 2*x + 1] ? length(v) 15 The vector w lists the monic quadratic polynomials which don't factor in F_5[x] ? w=[];for(m=0,4,for(n=0,4,h=Mod(1,5)*(x^2+m*x+n);if(polisirreducible(h),w=concat(w,[h])))) ? lift(w) [x^2 + 2, x^2 + 3, x^2 + x + 1, x^2 + x + 2, x^2 + 2*x + 3, x^2 + 2*x + 4, x^2 + 3*x + 3, x^2 + 3*x + 4, x^2 + 4*x + 1, x^2 + 4*x + 2] ? length(w) 10 Computing the values of h(-j)/f(-j) j=1,...,5 for h in w ? valu(h)=vector(5,j,subst(h,x,-j)/subst(f,x,-j)) ? for(k=1,10,print(k," ",lift(w[k])," ",lift(valu(w[k])))) 1 x^2 + 2 [4, 1, 2, 4, 1] 2 x^2 + 3 [2, 2, 4, 2, 4] 3 x^2 + x + 1 [3, 3, 4, 4, 3] 4 x^2 + x + 2 [1, 4, 1, 2, 1] 5 x^2 + 2*x + 3 [1, 3, 2, 3, 4] 6 x^2 + 2*x + 4 [4, 4, 4, 1, 2] 7 x^2 + 3*x + 3 [3, 1, 1, 1, 4] 8 x^2 + 3*x + 4 [1, 2, 3, 4, 2] 9 x^2 + 4*x + 1 [4, 2, 1, 3, 3] 10 x^2 + 4*x + 2 [2, 3, 3, 1, 1] Eyeballing k constant such that h-kf factors into linear polynomials ? print(lift(factor(w[1]-4*f))) [x + 1, 2; x + 4, 1] ? print(lift(factor(w[2]-2*f))) [x + 1, 1; x + 2, 1; x + 4, 1] ? print(lift(factor(w[3]-3*f))) [x, 1; x + 1, 1; x + 2, 1] ? print(lift(factor(w[4]-f))) [x, 1; x + 1, 1; x + 3, 1] ? print(lift(factor(w[5]-3*f))) [x + 2, 2; x + 4, 1] ? print(lift(factor(w[6]-4*f))) [x + 1, 1; x + 2, 1; x + 3, 1] ? print(lift(factor(w[7]-f))) [x + 2, 1; x + 3, 1; x + 4, 1] ? print(lift(factor(w[8]-2*f))) [x, 2; x + 2, 1] ? print(lift(factor(w[9]-3*f))) [x, 1; x + 4, 2] ? print(lift(factor(w[10]-3*f))) [x + 2, 1; x + 3, 2] ? print(lift(factor(w[10]-f))) [x, 2; x + 4, 1] Eyeballing k linear such that h-kf factors into linear polynomials ? print(lift(factor(w[8]+x*f))) [x + 1, 1; x + 2, 1; x + 3, 1; x + 4, 1] ? print(lift(factor(w[1]-(2*x-1)*f))) [x^2 + 3*x + 3, 1; x^2 + 4*x + 1, 1] ? print(lift(factor(w[1]+(2*x-1)*f))) [x, 2; x + 3, 1; x + 4, 1] ? print(lift(factor(w[5]+(x-1)*f))) [x + 2, 1; x^3 + 2*x^2 + x + 3, 1] ? print(lift(factor(w[5]+(x+1)*f))) [x, 1; x + 3, 1; x + 4, 2]