How does one fit the curve $y = ae^{bx} + c$?
The method of taking logarithms of both sides does not simplify to allow linear regression.
I can take the three equations derived from setting the gradient to zero and solve for $a$ and $c$ in terms of $b$, but then I'm left with a non-linear equation in $b$ which I would have to solve numerically.
Is there a better way? It seems like this is a trivial modification to the case where $c$ is zero...
Given the overall structure of your question, I'll assume that you have given data and by "fit the curve", you mean to find values of $a$, $b$, and $c$ so that the function $ae^{bt}+c$ is a good fit to that data.
In general, given data $\{x_i,y_i\}_{i=1}^n$ and a function univariate function $f_{a,b,c}(x)$ that depends on parameters $a$, $b$, and $c$, we fit the data by finding values of $a$, $b$, and $c$ that minimize $$\sum_{i=1}^n (f_{a,b,c}(x_i) - y_i)^2.$$ In the case where the expression $f_{a,b,c}(x)$ is linear in the parameters $a$, $b$, and $c$, this is a linear optimization problem and nice matrix methods can be applied. Otherwise, it's a non-linear optimization problem. Sometimes, this non-linear problem can be translated to a linear problem but sometimes strictly non-linear techniques must be used.
As an example, you might try the following input in WolframAlpha:
You should find that $f(t)=1.74*e^{0.54t}-0.96$ is a reasonable fit to this data. The result is given as a numerical approximation (decimal numbers, rather than exact), because numerical techniques are used. A plot of the function and the data looks like so: