req = (2 - x)^2 - 4*Sqrt[1 - x]*Sqrt[1 - c*x] == 0;
where {0<x<1 and 0<c<1}.
Ommiting the trivial zero root, the following roots are provided by
Solve
sols=DeleteCases[Solve[req, x], {x -> 0}]
{{x -> 8/3 - (8 - 48*c)/(6*(-17 + 45*c + 3*Sqrt[3]*Sqrt[11 - 62*c +
107*c^2 - 64*c^3])^(1/3)) +
(2/3)*(-17 + 45*c + 3*Sqrt[3]*Sqrt[11 - 62*c + 107*c^2 -
64*c^3])^(1/3)},
{x -> 8/3 + ((1 + I*Sqrt[3])*(8 - 48*c))/(12*(-17 + 45*c +
3*Sqrt[3]*Sqrt[11 - 62*c + 107*c^2 - 64*c^3])^(1/3)) -
(1/3)*(1 - I*Sqrt[3])*(-17 + 45*c + 3*Sqrt[3]*Sqrt[11 - 62*c +
107*c^2 - 64*c^3])^(1/3)},
{x -> 8/3 + ((1 - I*Sqrt[3])*(8 - 48*c))/(12*(-17 + 45*c +
3*Sqrt[3]*Sqrt[11 - 62*c + 107*c^2 - 64*c^3])^(1/3)) -
(1/3)*(1 + I*Sqrt[3])*(-17 + 45*c + 3*Sqrt[3]*Sqrt[11 - 62*c +
107*c^2 - 64*c^3])^(1/3)}}
Applying the principle of the argument it can be proved that req has
only one solution in
0<x<1 for 0<c<1.
Direct substitution of sols to req does not lead anywhere since Solve
is not capable of doing this kind of verification for extraneous roots.
Any ideas?
Dimitris
The solution seems rather obvious so perhaps I have misunderstood
your question, but:
Reduce[{req, 0 < x < 1, 0 < c < 1}, {x}, Reals]
0 < c < 1 && x == Root[#1^3 - 8*#1^2 - 16*c*#1 + 24*#1 +
16*c - 16 & , 1]
gives the single real solution in a very short time. To convince
yourself that it is correct you can look at the plots:
f[c_] = x /. ToRules[Last[%]];
Plot[f[c], {c, 0, 1}]
Plot[Chop[First[req] /. x -> f[c]], {c, 0, 1}]
Andrzej Kozlowski
Tokyo, Japan
Hi Dimitris,
I think you have one real and 2 complex roots. Consider:
Reduce[{(2 - x)^2 - 4*Sqrt[1 - x]*Sqrt[1 - c*x] == 0, 0 < c < 1, 0 < x <
1}, x]
this give
(0 < c < 1 && x ==Root[-16 + 16 c + 24 #1 - 16 c #1 - 8 #1^2 + #1^3 &, 1]
this means the first root of the polynomial. You can easily verify that
the other 2 roots (e.g. Root[-16 + 16 c + 24 #1 - 16 c #1 - 8 #1^2 +
#1^3 &, 2])are complex.
Daniel