$y(x)=mx+c$ is not the most general solution, this can be seen by plugging it into the equation and you'll find it only works for certain $m$ and $c$.
As @user10354138 points out, this is a d'Alembert's equation:
\begin{align}
y=xf(p)+g(p)&;\qquad [y'_x=p]\\\\
f(p)=\frac{1}{1+bp^2},\quad g(p)&=\frac{-ap}{1+bp^2}.
\end{align}
To solve we will take the Legendre Transformation, $x=Y'_x=P$, $y=XP-Y$, $p=X$ to get
\begin{align}
XP-Y=f(X)P+g(X),
\end{align}
which is linear in $X$. Under the integrating factor $E(X)=-\smallint \mathrm dX/(X-f(X))$ we have
\begin{align}
Y=\frac{1}{E(X)}\left(C+\int\frac{g(X)E(X)}{X-f(X)}\mathrm dX\right).
\end{align}
Now, take $X$ to be a parameter for our parametric solution, it follows that
\begin{align}
X(t)=t,\quad Y(t)=\frac{1}{E(t)}\left(C+\int\frac{g(t)E(t)}{t-f(t)}\mathrm dt\right),\quad E(t)=-\int\frac{\mathrm dt}{t-f(t)}.
\end{align}
In terms of $x$ and $y$ we then have our general solution:
\begin{align}
x(t)=\frac{Y(t)+g(t)}{t-f(t)},\quad y(t)=\frac{tg(t)-f(t)Y(t)}{t-f(t)}.
\end{align}