(The analysis that follows is a light introduction. For more austere results, consult Paper 2).

We begin with some standard notation:

f(x) = c^{x}, c > 0, x in R.

f^{(n)}(x) = {f(x), iff n = 1, f(f^{(n-1)}(x)) iff n > 1}.

g(x) = f(x) - x.

dg/dx = f(x)*ln(c) - 1.

h(x) = f^{(2)}(x) - x.

dh/dx = f^{(2)}(x)*f(x)*ln(c)^{2} - 1.

d^{2}h/dx^{2} =
f^{(2)}(x)*(f(x))^{2}*ln(c)^{4} +
f^{(2)}(x)*f(x)*ln(c)^{3}.

W(k, x) denotes the Lambert's W function branch corresponding to k.

Lemma 1:

If c > e^{(1/e)}, h(x) = 0 admits no real roots.

Lemma 2:

If c = e^{(1/e)}, h(x) = 0 admits exactly one real root x_{r} =
e.

Lemma 3:

If 1 < c < e^{(1/e)}, h(x) = 0 admits exactly two real roots
{x_{r1}, x_{r2}}, given by: x_{rj} =
e^{-W(j-2,-ln(c))}, j in {1,2}.

Lemma 4:

If e^{-e} < c < 1, h(x) = 0 admits exactly one real root x_{r}
= e^{-W(-ln(c))}.

Lemma 5:

If c = e^{-e}, h(x) = 0 admits exactly one real root x_{r} =
1/e.

If 0 < c < e^{-e}, h(x) = 0 admits exactly three real roots
{x_{r}, x_{r1}, x_{r2}}, with x_{r} =
e^{-W(-ln(c))}, and x_{r1} < x_{r} < x_{r2}.

Lemmas 1-6 depend on the following lemmas:

Lemma 7:

If c > 1, then dh/dx = 0 admits exactly one real root: x_{crit} =
ln(1/ln(c)*W(1/ln(c)))/ln(c).

Lemma 8:

If e^{-e} < c < 1, then dh/dx = 0 admits no real roots.

Lemma 9:

If c = e^{-e}, then dh/dx = 0 admits exactly one real root: x_{crit}
= 1/e.

Lemma 10:

If 0 < c < e^{-e}, then dh/dx = 0 admits exactly two real roots
{x_{crit1}, x_{crit2}}: x_{critj} =
ln(1/ln(c)*W(j-2,1/ln(c)))/ln(c), for j in {1,2}, with x_{crit1} <
x_{crit2}.

Lemma 10 depends on the following lemma:

Lemma 11:

W(-1,x) <= W(x) for all x in [-1/e, 0).

We begin with Lemma 11:

Follows from lemma 9 and lemma10 in a previous article, along with the fact that W(-1/e) = W(-1,-1/e) = -1. Here, we just exhibit the two graphs for x in [-1/e, 0):

>plot({W(x),W(-1,x)},x=-exp(-1)..0);

Lemma 7.1:

If c > 1, then dh/dx = 0 admits at most one real root.

Proof:

It suffices to show that dh/dx is strictly increasing throughout R.

c > 1, => ln(c) > 0. x1 < x2, => ln(c)*x1 < ln(c)*x2, => f(x1)
< f(x2), => ln(c)*f(x1) < ln(c)*f(x2). Similarly: ln(c)*f^{(2)}(x1)
< ln(c)*f^{(2)}(x2). Thus: f(x1)*f^{(2)}(x1)*ln(c)^{2} <
f(x2)*f^{(2)}(x2)*ln(c)^{2}, =>
f(x1)*f^{(2)}(x1)*ln(c)^{2} - 1 <
f(x2)*f^{(2)}(x2)*ln(c)^{2} - 1, => dh/dx|_{x1} <
dh/dx|_{x2}, and the lemma follows.

Proof of Lemma 7:

c > 1, x_{crit} = ln(1/ln(c)*W(1/ln(c)))/ln(c), and verify that:
x_{crit} is in R, dh/dx|_{x_crit} = 0, => dh/dx = 0 admits at least
one real root, x_{crit}. By Lemma 7.1, dh/dx = 0 admits at most one real root.
Thus: dh/dx = 0 admits exactly one real root: x_{crit}, and the lemma
follows.

Lemma 8.1:

If 0 < c < 1 and y_{crit} = ln(-1/ln(c))/ln(c), then if x <
y_{crit}, dh/dx is strictly increasing and if x > y_{crit}, dh/dx is
strictly decreasing.

Proof:

0 < c < 1, => ln(c) < 0, and verify that y_{crit} is in R. x
< y_{crit} => ln(c)*x > ln(-1/ln(c)), => f(x) > -1/ln(c).
d^{2}h/dx^{2} =
f^{(2)}(x)*f(x)*[f(x)*ln(c)^{4}+ln(c)^{3}] >
f^{(2)}(x)*(-1/ln(c))*[(-1/ln(c)*ln(c)^{4}+ln(c)^{3}] = 0.
Similarly, x > y_{crit} => d^{2}h/dx^{2} <
0, and the lemma follows.

Corollary:

If 0 < c < 1, then dh/dx possesses a global maximum M at y_{crit}.

Proof:

0 < c < 1 => y_{crit} is in R as before, and verify that:
dh/dx|_{y_crit} = M = -ln(c)/e - 1,
d^{2}h/dx^{2}|_{y_crit} = 0,
d^{3}h/dx^{3}|_{y_crit} = ln(c)^{3}/e = N < 0. and
the lemma follows from the above and lemma 8.1.

Proof of Lemma 8:

It suffices to show that for the M of the above corollary, M < 0.

If e^{-e} < c < 1, verify that: M = -ln(c)/e - 1 < 0, and the lemma
follows from the corollary.

Proof of Lemma 9:

It suffices to show that dh/dx < 0, for all x in R - {1/e}. Apply the proof of
lemma 8, with c = e^{-e}, y_{crit} = 1/e, M = 0 and N = -e^{2},
and the lemma follows from lemma 8.1.

Proof of Lemma 10:

If 0 < c < e^{-e}, verify that: M = -ln(c)/e - 1 > 0,
lim_{x->-oo}dh/dx = -1, lim_{x->+oo}dh/dx = -1. Note that 1/ln(c)
is in (-1/e, 0), so by Lemma 9 and
Lemma 10, both W(-1,1/ln(c)) and
W(1/ln(c)) are in R, => x_{critj} = ln(1/ln(c)*W(j-2,1/ln(c)))/ln(c), for j
in {1,2}, are in R and satisfy: dh/dx|_{x_critj} = 0. and the lemma follows the
above and lemma 8.1.

Lemma 1.1:

If c > 1 and x_{crit} = ln(W(1/ln(c))/ln(c))/ln(c), then if x >
x_{crit}, h(x) is strictly increasing and if x < x_{crit}, h(x) is
strictly decreasing.

Proof:

If c > 1, verify that x_{crit} is in R. x > x_{crit} =>
x*ln(c) > ln(W(1/ln(c))/ln(c)), => f(x) > W(1/ln(c))/ln(c), => ln(c)*f(x)
> W(1/ln(c)), => f^{(2)}(x) > e^{W(1/ln(c))}. dh/dx =
f^{(2)}(x)*f(x)*ln(c)^{2} - 1 >
e^{W(1/ln(c))}*W(1/ln(c))/ln(c)*ln(c)^{2} - 1 =
1/ln(c)*1/ln(c)*ln(c)^{2} - 1 = 0. Similarly: x < x_{crit} =>
dh/dx < 0, and the lemma follows.

Corollary:

If c > 1, then h(x) possesses a global minimum m at x_{crit}.

Proof:

c > 1 => x_{crit} is in R, and verify that: h(x_{crit}) = m =
f^{(2)}(x_{crit}) - x_{crit}, dh/dx|_{x_crit} = 0,
d^{2}h/dx^{2}|_{x_crit} = ln(c)*[W(1/ln(c)) + 1] = N > 0,
and the lemma follows from lemma 1.1.

Proof of Lemma 1:

It suffices to show that if c > e^{(1/e)}, m > 0. We will show:
x_{crit} = ln(W(1/ln(c))/ln(c))/ln(c) < -ln(ln(c))/ln(c), <=>
ln(W(1/ln(c))/ln(c)) < -ln(ln(c)), <=> W(1/ln(c))/ln(c) < 1/ln(c),
<=> W(1/ln(c)) < 1, which holds by virtue of: c > e^{(1/e)},
<=> ln(c) > 1/e, <=> 1/ln(c) < e, <=> W(1/ln(c)) < W(e) = 1,
so: g(x_{crit}) > 0, from Lemma
11 in the previous article, and therefore: f(x_{crit}) - x_{crit}
> 0, => f(x_{crit}) > x_{crit}, =>
f^{(2)}(x_{crit}) > f(x_{crit}) > x_{crit}, =>
f^{(2)}(x_{crit}) > x_{crit}, =>
f^{(2)}(x_{crit}) - x_{crit} = m > 0, => and the lemma
follows.

Proof of Lemma 2:

It suffices to show that if c = e^{(1/e)}, m = 0. c = e^{(1/e)},
=> x_{crit} = e, h(x_{crit}) = m = 0, N = 2/e, and the lemma follows
from lemma 1.1.

Proof of Lemma 3:

Similar to the proof of lemma 1, and note that in this case: x_{crit} =
ln(W(1/ln(c))/ln(c))/ln(c) > -ln(ln(c))/ln(c), and verify that: and
lim_{x->-∞}h(x) = +∞ and lim_{x->+∞}h(x) =
+∞, the aforementioned expressions are roots, and the lemma follows from lemma
1.1.

Proof of Lemma 4:

It suffices to show that dh/dx < 0, for all x, lim_{x->-∞}h(x) =
+∞, and lim_{x->+∞}h(x) = -∞. e^{-e} < c <
1, => -e < ln(c) < 0, => -ln(c) < e, => -ln(c)/e < 1. dh/dx =
f^{(2)}(x)*f(x)*ln(c)^{2} - 1. Now verify that the point:
y_{crit} = ln(-1/ln(c))/ln(c) is a critical point of the function dh/dx and
furthermore: d^{3}h/dx^{3}|_{y_crit} = ln(c)^{3}/e <
0, so y_{crit} is a maximum of dh/dx. Furthermore: x < y_{crit},
=> x < ln(-1/ln(c))/ln(c), => x*ln(c) > ln(-1/ln(c)), => f(x) >
-1/ln(c), => f(x)*ln(c) < -1, => f^{(2)}(x) < 1/e, =>
f^{(2)}(x)*ln(c) < ln(c)/e, => dh/dx =
f^{(2)}(x)*f(x)*ln(c)^{2} - 1 < -ln(c)/e - 1 < 0. Similarly, x
> y_{crit}, => dh/dx < 0. Next verify that x_{r} is a root.
The last two limits follow easily, and the lemma follows.

Proof of Lemma 5:

if c = e^{-e}, verify that: x_{crit} = ln(W(1/ln(c))/ln(c))/ln(c) =
ln(W(-1, 1/ln(c))/ln(c))/ln(c) = 1/e satisfies: dh/dx|_{x_crit} = 0,
h(x_{crit}) = 0. One then verifies that dh/dx < 0, for all x in R - {1/e},
which is similar to the proof of lemma 4, and the lemma follows.

Lemma 6.1:

Let y_{crit} = ln(-1/ln(c))/ln(c). Then dh/dx is strictly increasing in
(x_{crit1}, y_{crit}] and strictly decreasing in [y_{crit},
x_{crit2}).

Proof:

if x in (x_{crit}, y_{crit}] then x < y_{crit}, => x
< ln(-1/ln(c))/ln(c), => x*ln(c) > ln(-1/ln(c)), => f(x) > -1/ln(c),
=> f(x)*ln(c) < -1, => f^{(2)}(x) < 1/e, =>
f^{(2)}(x)*ln(c) > ln(c)/e, => d^{2}h/dx^{2} =
f^{(2)}(x)*f(x)*[f(x)*ln(c)^{3}+ln(c)^{4}] =

f^{(2)}(x)*ln(c)*f(x)*[f(x)*ln(c)^{2}+ln(c)^{3}] >
ln(c)/e*(-1/ln(c))*[(-1/ln(c)*ln(c)^{2}+ln(c)^{3}] =
ln(c)^{2}/e - ln(c)^{3}/e > 0. Similarly: x > y_{crit},
=> d^{2}h/dx^{2} < 0, and the lemma follows.

Lemma 6.2:

dh/dx is strictly positive in (x_{crit1}, x_{crit2}).

Proof:

d^{2}h/dx^{2} = 0, => y_{crit} = ln(-1/ln(c))/ln(c), and
verify: d^{3}h/dx^{3}|_{y_crit} = ln(c)^{3}/e < 0,
so y_{crit} gives rise to a (global) maximum for dh/dx. If dh/dx|_{x'}
= 0 for some x' not in {x_{crit1}, x_{crit2}}, x' in
(x_{crit1}, x_{crit2}), then either x' in (x_{crit1},
y_{crit}) or x' in (y_{crit}, x_{crit2}). But then, since
dh/dx|_{x_crit1} = dh/dx|_{x_crit2} = 0, dh/dx would have to be both
increasing and decreasing in that corresponding interval. This would mean that either
dh/dx is a constant in that interval or that lemma 6.1 is violated in that interval.
Both are contradictions, and the lemma follows.

Proof of Lemma 6:

If 0 < c < e^{-e}, => ln(c) < -e, => 1/ln(c) > -1/e, =>
W(1/ln(c)) > -1, and W(-1,1/ln(c)) < -1, by Lemma 11. Now verify that: x_{r}
is a root. x_{crit1} = ln(W(-1, 1/ln(c))/ln(c))/ln(c), and x_{crit2} =
ln(W(1/ln(c))/ln(c))/ln(c), satisfy: dh/dx|_{x_critj} = 0, j in {1, 2}, and
furthermore: d^{2}h/dx^{2}|_{xcrit1} =
e^{W(-1,1/ln(c))}*W(-1,1/ln(c))*ln(c)^{2}*(W(-1,1/ln(c))+1) > 0,

d^{2}h/dx^{2}|_{xcrit2} =
e^{W(1/ln(c))}*W(1/ln(c))*ln(c)^{2}*(W(1/ln(c))+1) < 0, so
x_{crit1} gives rise to a (local) minimum and x_{crit2} gives rise to a
(local) maximum. It suffices to show that h(x) is strictly decreasing if x <
x_{crit1} and if x > x_{crit2}, lim_{x->-∞}h(x) =
+∞, lim_{x->+∞}h(x) = -∞, and that there is exactly one
root between x_{crit1} and x_{crit2}. x < x_{crit1}, => x
< ln(W(-1,1/ln(c))/ln(c))/ln(c), => x*ln(c) > ln(W(-1,1/ln(c))/ln(c)), =>
f(x) > W(-1,1/ln(c))/ln(c), => f(x)*ln(c) < W(-1, 1/ln(c)) < -1, and
f^{(2)}(x) < e^{W(-1, 1/ln(c))} < 1/e, dh/dx =
f^{(2)}(x)*f(x)*ln(c)^{2} - 1 < -ln(c)/e - 1 < -(-e)/e - 1 = 0.
Similarly: x > x_{crit2}, => dh/dx < 0. Next, the two limits: c <
1, so lim_{x->+∞}f^{(2)}(x) = 0, =>
lim_{x->+∞}h(x) = -∞.
lim_{x->-∞}f^{(2)}(x) =
lim_{x->+∞}f^{(2)}(-x) =
lim_{x->+∞}c^{(1/c^x)} = c^{0} = 1, =>
lim_{x->-∞}h(x) = +∞. Next verify that: h(x_{crit1})
< 0 and h(x_{crit2}) > 0: For this it suffices to show that:
x_{crit1} < r < x_{crit2}, where r is the single root of g(x) = 0
(in the range 0 < c < e^{-e}), for then, since by Lemma 11 in a previous article g(x) is
strictly decreasing everywhere: g(x_{crit1}) > 0 and g(x_{crit2})
< 0, and therefore: f^{(2)}(x_{crit1}) > f(x_{crit1})
> x_{crit1}, and f^{(2)}(x_{crit2}) <
f(x_{crit2}) < x_{crit2}, and the desired result follows.

Indeed: x_{r} < x_{crit2}, <=> -W(-ln(c))/ln(c) <
ln(W(1/ln(c))/ln(c))/ln(c), <=> -W(-ln(c)) > ln(W(1/ln(c))/ln(c)), <=>
e^{-W(-ln(c))} > W(1/ln(c))/ln(c), <=> -W(-ln(c))/ln(c) >
W(1/ln(c)), <=> -W(-ln(c)) < W(1/ln(c)), <=> W(-ln(c)) > -W(1/ln(c)).
But: ln(c) < -e, => -ln(c) > e, => W(-ln(c)) > 1, and ln(c) < -e,
=> 1/ln(c) > -1/e, => W(1/ln(c)) > -1, => -W(1/ln(c)) < 1, and the
inequality above holds.

Similar for: x_{crit1} < x_{r} and the desired result follows. It
follows that h(x) has at least two roots. By the Mean Value Theorem and the following
two inequalities: h(x_{crit1}) < 0 and h(x_{crit2}) > 0, h(x) has
at least three roots, (one more between x_{crit1} and x_{crit2}). If
h(x) had more than three roots, the fourth root would have to lie in
(x_{crit1}, x_{crit2}). But this is impossible, for then: dh/dx would
have to be negative somewhere inside (x_{crit1}, x_{crit2}) and this
contradicts lemma 6.2.

To order the roots, it suffices to show that x_{crit1} < x_{r}
< x_{crit2}. But this has been shown already above (since x_{r} = r
= e^{-W(-ln(c))}), and the lemma follows.

We can now modify our Maple code for "solveAuxR", to take care of this case as well:

> solveAux2R:=proc(c)

> local fc,fb1,fb2,xcf1,xcf2,r1,r2,r3;

> fc:=evalf(c); #Turn c into a float

> fb1:=evalf(exp(exp(-1)));fb2:=evalf(exp(-exp(1))); #Turn e^(1/e) into
a float.

> if fb1=fc then #If c is equal to e^(1/e) then

> r1:= evalf(exp(1)); #one real root=e.

> RETURN(r1);

> elif fc>1 and fc<fb1 then #If c is in (1,e^(1/e)), then calculate real
roots.

> r1:=evalf(exp(-W(-log(fc)))); #First root always given by W.

> r2:=evalf(exp(-W(-1,-log(fc)))); #Second root given by W(-1,x)

> RETURN({r1,r2});

> elif c=1 then #If c=1, then equation is degenerate: h(1,x) = 1-x

> r1:=1;

> RETURN(r1);

> elif fc>=fb2 and fc<1 then

> r1:= evalf(exp(-W(-log(fc))));

> RETURN(r1);

> elif fc>0 and fc<fb2 then

> xcf1:=evalf(log(1/log(fc)*W(-1,1/log(fc)))/log(fc));

> xcf2:=evalf(log(1/log(fc)*W(1/log(fc)))/log(fc));

> r1:=evalf(exp(-W(-log(fc))));

> r2:=fsolve(fc^x=log(x)/log(fc),x,x=0..xcf1);

> r3:=fsolve(fc^x=log(x)/log(fc),x,x=xcf2..infinity);

> RETURN({r1,r2,r3});

> elif c=0 then

> r1:=1;

> RETURN(r1);

> else

> RETURN(`No Real Roots.`);

> fi;

> end:

Let's now try our code:

> c:=1.4;

> solveAux2R(c);

{1.886663306, 4.410292793}

> c:=0.0142;

> solveAux2R(c);

{.2905280101, .9178938293, .2013709754e-1}