more details:
method 1:
suppose the RHS of our ode is a polynomial of degree < n. Then D^n =0 on that function, so if the LHS factors with factors such as Da, then since
(1D)(1+D+D^2+D^3+...+D^[n1]) = 1D^n, then
also (1D/a)(1+D/a+[D/a]^2+[D/a]^3+...+[D/a]^[n1]) = 1[D/a]^n,
hence a(1D/a)(1+D/a+[D/a]^2+[D/a]^3+...+[D/a]^[n1]) =
(aD)(1+D/a+[D/a]^2+[D/a]^3+...+[D/a]^[n1]) =
a(1[D/a]^n).
Hence (Da)(1/a)(1+D/a+[D/a]^2+[D/a]^3+...+[D/a]^[n1]) =
(1[D/a]^n).
Thus if we want to solve (Da)y = f where f is a polynomial of degree < n,m then taking y = (1/a)(1+D/a+[D/a]^2+[D/a]^3+...+[D/a]^[n1])f,
gives us
(Da)y = (1[D/a]^n)f = f, since (D/a)^nf = 0.
Repeat for each factor (Da) of the differential operator.
I.e. this method inverts any operator which is a product of operators of form Da, i.e. any linear diff op with constant coefficients.
