2.6.13.7 ✓ Sympy. Time used: 0.528 (sec). Leaf size: 32
from sympy import *
u = symbols("u")
v = Function("v")
ode = Eq((u**2 + 1)*v(u)*Derivative(v(u), u) + v(u)**2 + 1,0)
ics = {}
dsolve(ode,func=v(u),ics=ics)
\begin{gather*} \begin {aligned} \left [ v{\left (u \right )} = - \sqrt {C_{1} e^{- 2 \operatorname {atan}{\left (u \right )}} - 1}, \ v{\left (u \right )} = \sqrt {C_{1} e^{- 2 \operatorname {atan}{\left (u \right )}} - 1}\right ] \end {aligned} \end{gather*}
Python version: 3.12.3 (main, Aug 14 2025, 17:47:21) [GCC 13.3.0]
Sympy version 1.14.0
classify_ode(ode,func=v(u))
('factorable', 'separable', '1st_exact', 'Bernoulli', 'almost_linear', '1st_power_series', 'lie_group', 'separable_Integral', '1st_exact_Integral', 'Bernoulli_Integral', 'almost_linear_Integral')