I have this equation in x and y:

```
(x + y)^(1/2) - 6*y*(x + y)^5 - (x + y)^6 + (x - 1)/(2*(x + y)^(1/2)) = 0.
```

Now I call the solver:

```
R_c = @(y)solve((x + y)^(1/2) - 6*y*(x + y)^5 - (x + y)^6 + (x - 1)/(2*(x + y)^(1/2)), x, 'Real', true);
```

which gives me the implicit solutions as a function of y. Now try

```
R_c(.3)
```

to find the explicit solution at y = 0.3. MATLAB's answer is:

```
ans =
0.42846617518653978966562924618638
0.15249587894102346284238111155954
0.12068186494007759990714181154349
```

However, the last entry in this array is NOT a solution. Test:

```
double(subs(subs((x + y)^(1/2) - 6*y*(x + y)^5 - (x + y)^6 + (x - 1)/(2*(x + y)^(1/2)), x, .12068186494007759990714181154349), y, .3))
```

yields

```
-0.0585.
```

This is not a rounding error. The other 2 solutions work perfectly and solve the equation correctly. I wonder where MATLAB the third value gets from. Can anyone help?

`R_c = @(y)solve(f == 0, x, 'Real', true);`

? What is the purpose of the`y`

which is unused?`R_c(.3)`

returns`x^2 - 1.0*y`

.`R_c = @(ry)solve(subs(f,y,ry) == 0, x, 'Real', true);`

would make sense, and produces your output. It substitutes y with a double value.`syms x; f(x)=(x + 3/10)^(1/2) - (9*(x + 3/10)^5)/5 - (x + 3/10)^6 + (x - 1)/(2*(x + 3/10)^(1/2)); solve(f,'Real',true);`

is sufficient to reproduce, I have no idea what's wrong. Probably a Bug in Matlab.1more comment