can't Solve[1 - x == x^r, x]?

*To*: mathgroup at smc.vnet.net*Subject*: [mg119936] can't Solve[1 - x == x^r, x]?*From*: Scott Centoni <scentoni at hotmail.com>*Date*: Thu, 30 Jun 2011 06:31:33 -0400 (EDT)

I want to solve the equation 1 - x == x^r (1) for x[r] and for r[x], particularly in the region 0<=r<=1 and 0<=x<=1/2 where both are real. Solving for r works well: > In[1]:= Solve[1 - x == x^r, r] > > During evaluation of In[1]:= Solve::ifun: Inverse functions are being used by Solve, so some solutions may not be found; use Reduce for complete solution information. >> > > Out[1]= {{r -> Log[1 - x]/Log[x]}} However solving for x does not: > In[2]:= Solve[1 - x == x^r, x] > > During evaluation of In[2]:= Solve::tdep: The equations appear to involve the variables to be solved for in an essentially non-algebraic way. >> > > Out[2]= Solve[1 - x == x^r, x] I've tried Reduce and InverseFunction, but they just left the expression unevaluated. For plotting purposes, I used > Nx[r_] := x /. FindRoot[1 - x == x^r, {x, .13}] > Plot[{.5 r^.5, .5 r, Nx[r]}, {r, 0, 1}] The plot is fairly close to .5 r^.5 over this interval, if that helps. Is there really no way for Mathematica to express this function other than as a numerical expression like this? Not even a big, messy formula involving PolyLog and hypergeometric functions? Thanks, Scott Centoni