2nd Order Diff. Equ. Solution

My goal is to find the general solution of

x^2*y'' - 2*x*y' + 2*y = x*e^(-x)

What we've learned about 2nd order equations is this:

1. How to reduce the order when y or x is absent from the equation

2. How to solve equations in the form y'' + py' + qy = 0, where p and q are constants

3. How to solve equations in the form y'' + py' +qy = ke^(ax), k*sin(b*x) + r*cos(b*x), or a + b*x + c*x^2, where a, b, c, k, and r are constants.

4. How to find a second solution to the equation y'' + p(x)*y' + q(x)*y = 0, where p(x) and q(x) are functions of x, when one solution is already known.

5. How to find a particular solution to the equation y'' + p(x)*y' + q(x)*y = r(x), when the general solution to y'' + p(x)*y' + q(x)*y = 0 is known.

The problem is, I don't know how to reduce

x^2*y'' - 2*x*y' + 2*y = x*e^(-x)

to an equation in any of the forms above. That is, I don't even know how to find the homogeneous equation, because I can't separate x out of the right side entirely.

At this level of understanding, should I be using intuition to find one solution, or is there a way to use substitution, or what?

It looked like I could factor the left side, up until the 2*y part.

Anyway, I'm stumped. Any help is much appreciated.