ODE: ode_separable solves x*(f(x).diff(x)) + 1 - f(x)**2 eq fixes #7081

The issue https://github.com/sympy/sympy/issues/7081 ```dsolve gives f(x) == -1 for x*(f(x).diff(x)) + 1 - f(x)**2``` was coming because in process of simplification of the above equation two inputs are fed to constantsimp one is ```(x**2 - exp(2*C1))``` and other is ```(x**2 + exp(2*C1))``` which on simplification both becomes ```(x**2 + C1)``` and gets cancelled out and what remain is -1, its coefficient. 
This is be the problem in many differential equations, there was need to consider sign of constant so that it does not get cancelled out when being in fraction.


```
Example

>>> dsolve(x*(f(x).diff(x)) + 1 - f(x)**2, f(x), hint='separable_reduced')
f(x) == -(C2 + x**2)/(-C1 + x**2)
```