I am looking to solve the following equation:
$$(1+a)^x - (1-a)^x = c$$
I know that $c ≥ 1$, $a \in [0; 1]$, and I am looking for the only solution where $x ≥ 0$.
I am aware that this is a complex equation and there might not exist a closed form for the solution. If there is one, even using "funkier" functions, I'd be interested in knowing it. If not, which algorithm would be efficient here to quickly approximate the solution?
Since $c\ge 1$, I think it's profitable to think of the $-(1-a)^x$ term as "small", so that the $(1+a)^x$ term controls the behavior of the solution. For example:
We can get an easy lower bound using only first term: $x\ge \log c/\log(1+a)$, since $c\le (1+a)^x$.
Using (1), $(1-a)^x\le (1-a)^{\log c/\log(1+a)}$, which means $(1+a)^x\le c+(1-a)^{\log c/\log(1+a)}$. This gives an upper bound for $x$: $$ x\le \frac{\log\left[c+(1-a)^{\log c/\log(1+a)}\right]}{\log(1+a)}. $$ Obviously, these bounds are sharp in the cases $a=1$ and $\lim a=0$.