ANSWER: e^(1/e)

We want

R = N ^ (N ^ (N ^ ...)) (1)

Note that this is not the same as R = (((N ^ N) ^ N) ^ N) ...

Then R is the limit of the sequence N, N^N, N^(N^N), ... and is a function of N on a suitable domain. Obviously N = 1 yields R = 1, and we want the maximum N for which R exists, so we need only consider N >= 1 and will assume this from now on. Then if N2 > N1, we must have N2^N2 > N1^N1, N2^(N2^N2) > N1^(N1^N1), and so on; and thus R2 > R1 if they exist. That is, where the function R of N exists, it is monotone increasing. Therefore N as a function of R is also monotone increasing in the range of values of N for which R exists.

We will now examine N as a function of R. Substituting equation (1) into itself, we get

R = N^R (2)

- Taking the logarithm of both sides of (2)
ln(R) = R * ln(N)

- That is
ln(N) = ln(R) / R

- Exponentiating
N = R^(1/R) (3)

We check for a local maximum by differentiating (3) and setting the

- derivative to zero
dN/dR = (1 - ln(R)) / R^2 = 0 (4)

The solution to this is R = e, and it is a genuine local maximum of (3)

- if the second derivative is negative at that point
d2(N)/d2(R) | R=e = (2 * ln(R) - 3) / R^3 | R=e = -1 / e^3 < 0

Thus equation (3) and therefore (2) ceases to yield the monotone increasing behavior that equation (1) does, at the point where R = e and therefore (by (3)) N = e^(1/e). Since (1) was monotone increasing throughout the domain where R exists, this is the maximum N for which R can exist.

It remains to show that R exists and equals e for this value of N. This will be the case if (e^(1/e))^x <= e for all e^(1/e) <= x <= e. But this is obvious since (e^(1/e))^x is monotone increasing for the applicable values of x, and (e^(1/e))^e = e^1 = e.