The command:
InputForm[Solve[F[x, k, kf, kb] == 0, x, Reals]]
produces the result:
{{x -> ConditionalExpression[Root[-3*kf^2 + 6*kb*kf*#1 - 3*kb^2*#1^2 + 2*k*#1^3 & , 1], (k > (2*kb^3)/(9*kf) && kb > 0 && kf > 0) ||
(Inequality[0, Less, k, Less, (2*kb^3)/(9*kf)] && kb > 0 && kf > 0) || (Inequality[0, Less, k, Less, (2*kb^3)/(9*kf)] && kb < 0 && kf < 0) ||
(Inequality[(2*kb^3)/(9*kf), Less, k, Less, 0] && kb < 0 && kf > 0) || (Inequality[(2*kb^3)/(9*kf), Less, k, Less, 0] && kf < 0 && kb > 0) ||
(k < 0 && kb > 0 && kf > 0) || (k < 0 && kb < 0 && kf < 0) || (k < (2*kb^3)/(9*kf) && kb < 0 && kf > 0) || (k < (2*kb^3)/(9*kf) && kf < 0 && kb > 0) ||
(kb < 0 && k > 0 && kf > 0) || (kb < 0 && kf < 0 && k > (2*kb^3)/(9*kf)) || (kf < 0 && k > 0 && kb > 0)]},
{x -> ConditionalExpression[Root[-3*kf^2 + 6*kb*kf*#1 - 3*kb^2*#1^2 + 2*k*#1^3 & , 2], (Inequality[0, Less, k, Less, (2*kb^3)/(9*kf)] && kb > 0 && kf > 0) ||
(Inequality[0, Less, k, Less, (2*kb^3)/(9*kf)] && kb < 0 && kf < 0) || (Inequality[(2*kb^3)/(9*kf), Less, k, Less, 0] && kb < 0 && kf > 0) ||
(Inequality[(2*kb^3)/(9*kf), Less, k, Less, 0] && kf < 0 && kb > 0)]},
{x -> ConditionalExpression[Root[-3*kf^2 + 6*kb*kf*#1 - 3*kb^2*#1^2 + 2*k*#1^3 & , 3], (Inequality[0, Less, k, Less, (2*kb^3)/(9*kf)] && kb > 0 && kf > 0) ||
(Inequality[0, Less, k, Less, (2*kb^3)/(9*kf)] && kb < 0 && kf < 0) || (Inequality[(2*kb^3)/(9*kf), Less, k, Less, 0] && kb < 0 && kf > 0) ||
(Inequality[(2*kb^3)/(9*kf), Less, k, Less, 0] && kf < 0 && kb > 0)]}}
I am afraid I don't see how this might be useful. Where are the analytical formulae? A third order polynomial should have analytical formulae for its roots. I also think that at least one root should always be real (if I remember the mathematics).
Leslaw