✓ Mathematica : cpu = 0.554743 (sec), leaf count = 24
DSolve[-((a*x + a*x*Log[x*y[x]] - y[x])*y[x]) + x*(-(a*x) + y[x] + Log[x*y[x]]*y[x])*Derivative[1][y][x] == 0,y[x],x]
✓ Maple : cpu = 0.2 (sec), leaf count = 19
dsolve(x*(y(x)*ln(x*y(x))+y(x)-a*x)*diff(y(x),x)-y(x)*(a*x*ln(x*y(x))-y(x)+a*x) = 0,y(x))