How to solve given differential equation $(x^3y^3+x^2y^2+xy+1)ydx+(x^3y^3-x^2y^2-xy+1)xdy=0$? The equation to solve is:
$$(x^3y^3+x^2y^2+xy+1)ydx+(x^3y^3-x^2y^2-xy+1)xdy=0$$
I tried putting $xy=t$ but that just gave me this:
$$\frac{t^3-t^2-t+1}{t^3+t^2+t+1}dt=\frac{dx}{x}$$
I suppose there must be some clever factoring involved somewhere but I can't see it so can someone guide me on how to advance or perhaps suggest an alternate method?

Grouping terms, we get
$$(x^3y^3+1)(ydx+xdy) - (x^2y^2+xy)(xdy-ydx) = 0$$
Now substitute $t=xy$ and $s=\frac{y}{x}$
$$\implies dt = ydx+xdy \hspace{20 pt} x^2 ds = \frac{t}{s}ds =  xdy - ydx$$
turning the differential equation into
$$s(t^3+1)dt - t^2(t+1)ds = 0$$
which is now separable and yields
$$\int \frac{ds}{s} = \int \frac{t^3+1}{t^2(t+1)}dt = \int 1 - \frac{1}{t} + \frac{1}{t^2}dt$$
$$\implies \log|s| = t - \log|t| - \frac{1}{t} + C$$
Substituting back in for $x$ and $y$
$$\log (y^2) - xy + \frac{1}{xy} = C$$
or rearranging terms we can have
$$y^2\exp\left(\frac{1}{xy} - xy \right) = C > 0$$ 
