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

Lambert's W function will be denoted as W.

__Preliminaries:__

We have seen how the W function readily solves the (complex)
exponential
equation c^{z}=z, providing all the solutions (which are infinite, since the W
is multi-valued), as, z = -W(k,-log(c))/log(c), for k in Z (where k denotes
the
appropriate W branch, and where k=0 denotes the principal branch) (1). In effect, the points z above, are all the fixed points of the
function f(z) = c^{z}. For details on this, consult the two
articles on Infinite Exponentials. We have also seen in the analysis of the Complex
case, that the iterates of f(z) = c^{z} often become a
p-cycle,
when we perturb z away from the function's fixed points. Whenever such p-cycles are formed, we are interested in solving what
some authors have denoted as *the auxiliary exponential equations*
f^{(n)}(z) = z, n ≥ 1^{[1]}. For example, the *first auxiliary exponential equation*, is: c^{z}=z. The *second auxiliary exponential equation*, is: c^{cz} = z. The *third auxiliary exponential equation* is: c^{ccz} = z, and so on. In practice, this amounts to figuring the fixed points
of iterates of f^{(n)}(z), for n ≥1. In this article, we
will
address the problem of solving the first auxiliary real exponential
equation: c^{x} = x, for c > 0, x in R. 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.

d^{2}g/dx^{2} = f(x)*ln(c)^{2}.

Continuity follows from the above definitions and basic analysis, so it is implicitly assumed throughout this article. Note that for c > 0 all the involved functions are analytic everywhere, and derivatives of all orders exist everywhere. The continuity of the LW(-1,x) for x in [-1/e,0), will be addressed in a separate article.We will approach the problem, using the following 6 lemmas:

__Lemma 1:__

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

__Lemma 2:__

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

__Lemma 3:__

If 1 < c < e^{(1/e)}, g(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, g(x) = 0 admits exactly one real root,
x_{r} = e^{-W(-ln(c))}.

__Lemma 5:__

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

__Lemma 6:__

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

Lemmas 1-6 depend on the following lemmas:

__Lemma 7:__

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

__Lemma 8:__

If c < 1, then dg/dx = 0 admits no real roots.

Lemma 3 depends on the following lemmas:

The function W(x) is real valued, continuous and strictly increasing for x in [-1/e, +∞).

The function W(-1,x) is real valued, continuous and strictly decreasing for x in [-1/e, 0).

We begin with Lemmas 9 and 10:

__Proof of Lemma 9:__

See lemmas on previous articles on the Lambert's W function, particularly the Infinite Exponentials article, the Complex case, W's expansion and Approximating the Principal Branch of the W or check the Tetration references.

__Proof of Lemma 10:__

We will take this up in another article, which will be devoted to calculating the W branch corresponding to -1.

__Proof of lemmas 7 & 8:__

dg/dx = 0, => f(x)*ln(c) - 1 = 0, => c^{x}*ln(x) - 1 = 0, => e^{(ln(c)*x)}*ln(x) = 1, => e^{(ln(c)*x)} = 1/ln(c), => ln(c)*x = ln(1/ln(c)), => x_{crit} = -ln(ln(c))/ln(c).

Note that if c > 1, => ln(c) > 0, => ln(ln(c)) in R,
=> x_{crit}
in R, while if c < 1, => ln(c) < 0, => ln(ln(c)) not in R,
and Lemmas
7 and 8 follow.

If c > 1, then: if x < x_{crit}, then g(x) is strictly
decreasing
and if x > x_{crit}, then g(x) is strictly increasing.

__Proof:__

It suffices to show that dg/dx > 0, if x > x_{crit}, and
dg/dx
< 0, if x < x_{crit}. c > 1, => ln(c) > 0. x < x_{crit}, => x < -ln(ln(c))/ln(c), => x*ln(c)
<
-ln(ln(c)), => f(x) < 1/ln(c), => f(x)*ln(c) < 1, =>
f(x)*ln(c) -
1 < 0, => dg/dx < 0. Similarly, x > x_{crit}, => dg/dx > 0, and the lemma follows.

__Lemma 12:__

If c < 1, then g(x) is strictly decreasing everywhere.

__Proof:__

It suffices to show dg/dx < 0, everywhere. c < 1, => ln(c) < 0, and f(x) is strictly increasing
everywhere. x < x_{crit}, => x < -ln(ln(c))/ln(c), => x*ln(c)
> -ln(ln(c)),
=> f(x) > 1/ln(c), => f(x)*ln(x) < 1, => f(x)*ln(x) - 1
< 0, => dg/dx
< 0. x > x_{crit}, => x > -ln(ln(c))/ln(c), => x*ln(c)
< -ln(ln(c)),
=> f(x) < 1/ln(c), => f(x)*ln(x) < 1, => f(x)*ln(x) - 1
< 0, =>
dg/dx < 0, and the lemma follows.

__Lemma 13:__

If c > 1, then lim_{x->+∞}g(x)=+∞, and lim_{x->-∞}g(x)=+∞.

__Proof:__

The first limit follows trivially from the fact that for sufficiently
large positive x, f(x) > x. The second limit follows trivially from the fact that for sufficiently
large negative x, -x > f(-x).

__Proof of Lemma 1:__

If c > 1 then, => d^{2}g/dx^{2}|_{x_crit} = ln(c) > 0, => m
=
g(x_{crit}) is a minimum. It suffices to show that m > 0, for all x in R. Note: g(x_{crit}) = 1/ln(c)+ln(ln(c))/ln(c). But c > e^{(1/e)}, => ln(c) > 1/e => ln(ln(c)) >
-1, => g(x_{crit})
> 0, and the lemma follows from lemma 11.

__Proof of Lemma 2:__

As above, c = e^{(1/e)}, => g(x_{crit}) = 0, and
note
that x_{crit} = x_{r} = e, and the lemma follows from
lemma
11.

__Proof of Lemma 3:__

As above, 1 < c < e^{(1/e)}, => g(x_{crit})
<
0, verify that the aforementioned expressions are roots, and the lemma
follows from lemmas 11 and 13.

__Proof of Lemma 4:__

e^{-e} < c < 1, => ln(c) < 0. dg/dx = f(x)*ln(c) - 1 = e^{(ln(c)*x)}*ln(c) - 1. No matter what x is, e^{(ln(c)*x)} > 0, and ln(c) is always < 0, so
dg/dx
< 0, and g(x) is strictly decreasing everywhere. => It has at
most one
real root. But (1) gives a real root, so it has at least one real root,
=> g(x) has exactly one root, that given by (1).

__Proof of Lemma 5:__

Similar to the proof of Lemma 4 and note that g(1/e) = 0.

__Proof of Lemma 6:__

Similar to the proof of Lemma 4.

Now we are ready for some Maple code to solve our equation.

> solveAux1R:=proc(c)

> local fc,fb1,fb2,r1,r2;

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

> fb1:=evalf(exp(exp(-1)));fb2:=evalf(exp(-exp(1)));

> if fc>fb1 then

> RETURN(`Ro Real Roots`);

> elif fc=fb1 then

> r1:=evalf(exp(1));

> RETURN(r1);

> elif 1<fc and fc<fb1 then

> r1:=evalf(exp(-W(-1,-ln(c))));

> r2:=evalf(exp(-W(0,-ln(c))));

> RETURN({r1,r2});

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

> r1:=1;

> RETURN(r1);

> elif fb2<fc and fc<1 then

> r1:=evalf(exp(-W(-ln(c))));

> RETURN(r1);

> elif fc=fb2 then

> r1:=evalf(exp(-1));

> RETURN(r1);

> elif 0<fc and fc<fb2 then

> r1:=evalf(exp(-W(-ln(c))));

> RETURN(r1);

> elif c=0 then

> r1:=1;

> RETURN(r1);

> else

> RETURN(`No Real Roots`);

> fi;

> end:

Let's now try our code:

> c:=1.4;

> solveAux1R(c);

{1.886663306, 4.410292792}

> c:=1.142;

> solveAux1R(c);

{1.167717277, 23.90450718}

etc.

- References On Tetration.