4.21.1 a2(x2)3a2xy(x)y(x)+(1a2)y(x)2y(x)2+y(x)2=0

ODE
a2(x2)3a2xy(x)y(x)+(1a2)y(x)2y(x)2+y(x)2=0 ODE Classification

[[_homogeneous, `class A`], _rational, _dAlembert]

Book solution method
Change of variable

Mathematica
cpu = 2.02438 (sec), leaf count = 763

{Solve[log(a2x4+(3a21)x2y(x)2+(a21)y(x)4x4)+2tan1((3a21)x2+2(a21)y(x)25a4+2a21x2)5a4+2a21+25a42a225a42a2+1+2tanh1(a2(5a2+4)x2+4(a21)y(x)2x25a42a225a42a2+1+2)5a42a2+125a42a2+25a42a2+1+2tanh1(a2(5a2+4)x2+4(a21)y(x)2x25a42a2+25a42a2+1+2)5a42a2+18a28=log(2(a21)x)22a2+c1,y(x)],Solve[log(a2x4+(3a21)x2y(x)2+(a21)y(x)4x4)+2tan1((3a21)x2+2(a21)y(x)25a4+2a21x2)5a4+2a2125a42a225a42a2+1+2tanh1(a2(5a2+4)x2+4(a21)y(x)2x25a42a225a42a2+1+2)5a42a2+1+25a42a2+25a42a2+1+2tanh1(a2(5a2+4)x2+4(a21)y(x)2x25a42a2+25a42a2+1+2)5a42a2+18a28=log(2(a21)x)22a2+c1,y(x)]}

Maple
cpu = 1.169 (sec), leaf count = 181

{ln(x)12y(x)x1(a21)_a4+(3a21)_a2+a2(_a5a4+(4_a2+4)a24_a2+(2a2+2)_a33_aa2)d_a_C1=0,ln(x)+12y(x)x_a(a21)_a4+(3a21)_a2+a2(2_a2a22_a2+3a2+5a4+(4_a2+4)a24_a2)d_a_C1=0} Mathematica raw input

DSolve[-(a^2*x^2) + y[x]^2 - 3*a^2*x*y[x]*y'[x] + (1 - a^2)*y[x]^2*y'[x]^2 == 0,y[x],x]

Mathematica raw output

{Solve[((2*ArcTan[((-1 + 3*a^2)*x^2 + 2*(-1 + a^2)*y[x]^2)/(Sqrt[-1 + 2*a^2 - 5*
a^4]*x^2)])/Sqrt[-1 + 2*a^2 - 5*a^4] + (2*Sqrt[2 - 2*a^2 + 5*a^4 - 2*Sqrt[1 - 2*
a^2 + 5*a^4]]*ArcTanh[Sqrt[(a^2*(4 + 5*a^2)*x^2 + 4*(-1 + a^2)*y[x]^2)/x^2]/Sqrt
[2 - 2*a^2 + 5*a^4 - 2*Sqrt[1 - 2*a^2 + 5*a^4]]])/Sqrt[1 - 2*a^2 + 5*a^4] - (2*S
qrt[2 - 2*a^2 + 5*a^4 + 2*Sqrt[1 - 2*a^2 + 5*a^4]]*ArcTanh[Sqrt[(a^2*(4 + 5*a^2)
*x^2 + 4*(-1 + a^2)*y[x]^2)/x^2]/Sqrt[2 - 2*a^2 + 5*a^4 + 2*Sqrt[1 - 2*a^2 + 5*a
^4]]])/Sqrt[1 - 2*a^2 + 5*a^4] + Log[(a^2*x^4 + (-1 + 3*a^2)*x^2*y[x]^2 + (-1 + 
a^2)*y[x]^4)/x^4])/(-8 + 8*a^2) == C[1] + Log[-2*(-1 + a^2)*x]/(2 - 2*a^2), y[x]
], Solve[((2*ArcTan[((-1 + 3*a^2)*x^2 + 2*(-1 + a^2)*y[x]^2)/(Sqrt[-1 + 2*a^2 - 
5*a^4]*x^2)])/Sqrt[-1 + 2*a^2 - 5*a^4] - (2*Sqrt[2 - 2*a^2 + 5*a^4 - 2*Sqrt[1 - 
2*a^2 + 5*a^4]]*ArcTanh[Sqrt[(a^2*(4 + 5*a^2)*x^2 + 4*(-1 + a^2)*y[x]^2)/x^2]/Sq
rt[2 - 2*a^2 + 5*a^4 - 2*Sqrt[1 - 2*a^2 + 5*a^4]]])/Sqrt[1 - 2*a^2 + 5*a^4] + (2
*Sqrt[2 - 2*a^2 + 5*a^4 + 2*Sqrt[1 - 2*a^2 + 5*a^4]]*ArcTanh[Sqrt[(a^2*(4 + 5*a^
2)*x^2 + 4*(-1 + a^2)*y[x]^2)/x^2]/Sqrt[2 - 2*a^2 + 5*a^4 + 2*Sqrt[1 - 2*a^2 + 5
*a^4]]])/Sqrt[1 - 2*a^2 + 5*a^4] + Log[(a^2*x^4 + (-1 + 3*a^2)*x^2*y[x]^2 + (-1 
+ a^2)*y[x]^4)/x^4])/(-8 + 8*a^2) == C[1] + Log[-2*(-1 + a^2)*x]/(2 - 2*a^2), y[
x]]}

Maple raw input

dsolve((-a^2+1)*y(x)^2*diff(y(x),x)^2-3*a^2*x*y(x)*diff(y(x),x)-a^2*x^2+y(x)^2 = 0, y(x),'implicit')

Maple raw output

ln(x)+1/2*Intat((2*_a^2*a^2-2*_a^2+3*a^2+(5*a^4+(4*_a^2+4)*a^2-4*_a^2)^(1/2))*_a
/((a^2-1)*_a^4+(3*a^2-1)*_a^2+a^2),_a = y(x)/x)-_C1 = 0, ln(x)-1/2*Intat((_a*(5*
a^4+(4*_a^2+4)*a^2-4*_a^2)^(1/2)+(-2*a^2+2)*_a^3-3*_a*a^2)/((a^2-1)*_a^4+(3*a^2-
1)*_a^2+a^2),_a = y(x)/x)-_C1 = 0