static Expr[] SolveSimpleRoot(Expr variable, Expr expr)
{
Expr simple = Algebraic.Expand(Rational.Numerator(Rational.Simplify(variable, expr)));
Expr[] coeff = Polynomial.Coefficients(variable, simple);
switch (coeff.Length)
{
case 1:
return new[] { Expr.Zero.Equals(coeff[0]) ? variable : Expr.Undefined };
case 2:
return new[] {
Rational.Simplify(variable, Rational.Expand(-coeff[0] / coeff[1])) };
case 3:
{