### Solve return an implicit equation

The following `solve()`

resists to any argument (to_poly_solve... calling giac sympy or anything else) in the way that it return an implicit solution in `y`

```
var('y')
A=n((1/2)*((1/4)*log(35000*0.25+100)+(3/4)*log(100)))
B=n((1/2)*((1/2)*log(35000*0.25+100)+(1/2)*log(100)))
C=(1/2)*A+ (1/2)*B
D=(1/2)*((1/2)*log(35000*0.25+100-y)+(1/2)*log(100-y))
sol=solve(D-C==0,y)[0]
sol
```

Of course I can find the solution acting the following way, but I find it after a long search and it seems inelegant.

```
sol1=e^sol.rhs()-e^sol.lhs()
sol21=n(solve(sol1==0,y)[0].rhs())
sol22=n(solve(sol1==0,y)[1].rhs())
show(sol21)
show(sol22)
```

Is there an other way ?