R.<t> = Integers(49)[]
f=t^2+t+5
f
myroots=f.roots(multiplicities=False)
myroots
# new poly
R.<x> = ZZ[]
f=x^3+2
f
var('p')
pp = [p^j for j in range(1,6)]
pp
qq = [f.change_ring(Integers(5^j)).roots(multiplicities=false)[0] for j in range(1,6)]
qq
# new poly
p=3
ff = x^4 -7*x^3+2*x^2+2*x+1
ff
ff(2)
ff(2) % 3
diff(ff,x)
diff(ff,x)(2) % 3
ff.change_ring(Integers(p^1)).roots(multiplicities=false)
ff.change_ring(Integers(p^2)).roots(multiplicities=false)
ff.change_ring(Integers(p^3)).roots(multiplicities=false)