def generator():
t = var("t")
y,yp = mi_vars("y","y'")
n = randrange(2,6)*choice([-1,1])
t0 = choice([-1,1])
k = randrange(1,5)*choice([-1,1])
hom_sol = k*t^n
kp = randrange(1,6)*choice([-1,1])
m = n
while m==n:
m = randrange(1,5)*choice([-1,1])
part_sol = kp*t^m
ts = n*part_sol-t*part_sol.diff()
ode = shuffled_equation(ts,t*yp,-n*y)
ivp_sol = (y==k*t^n+part_sol)
y0 = k*t0^n+kp*t0^m
return {
"ode": ode,
"t0": t0,
"y0": y0,
"ivp_sol": ivp_sol,
}