Question: Non Linear System solved using solve and solve

Looking for the solution of this a non linear system y = x^2 + 2*x - 3 ,  y = x^3 + 3*x^2 - 4*x - 8 (The system has 3 real solutions A = (-3.35, 1.51)    B = (-0.72, -3.92)  C = (2.07, 5.42) ).

i have tried to solve it as follows:

eq1 := x^2 + 2*x - 3

eq2 := x^3 + 3*x^2 - 4*x - 8

fsolve({eq1 = eq2})

I get 

   {x = -3.346462190}, {x = -0.7222456338}, {x = 2.068707823}

That is what i expected.
 

But if i try to use solve and then evalf i find three complex solutions.

solution := solve({eq1 = eq2}, explicit)

evalf(%);
      
  { x = 2.068707824 - 4x10^(-10)   I },     { x = -3.346462190 - 7.660254040 x10^(-10)    I },   { x = -0.722245634 + 9.660254040x10^(-10)    I }
    

Why ? I don't understand.

Moreover, solving the equations as follows:
sys1 := y = x^2 + 2*x - 3;
sys2 := y = x^3 + 3*x^2 - 4*x - 8;

fsolve({sys1, sys2}, {x, y})

yeld just one solution:

               {x = 2.068707823, y = 5.416967705}

Someone can explain me this behaviour ?

Please Wait...