Good work on your attempt

If the task is to show what the worst case running time of the algorithm is, then it's I think what you have done is sufficient.
If the task is to prove the worst case running time then I think you have to do the induction more formally.
To give you a feeling I will solved a similar albeit different recursive equation where n is a non.negative integer. (A natural numbers or 0)
f(n) = f(n-1) + f(n-1) + b if (n>0)
f(n) = a if (n = 0)
The solution is this:
f(n) = (a+b )*(2^n) - b
I verify the correctness by using induction. That is, I prove that the base case holds and that if it holds inductively. (If f(n) holds then it also holds for f(n+1)
For the base case:
f(0) = (a+b )*(2^0) - b
= (a+b )*1 - b
= a
So the base case holds, now I will prove that it holds inductive: (Notice that I use the recursive equation for calculating f(n))
f(n+1) = f(n) + f(n) + b
= ((a+b )*(2^n) - b ) + ((a+b )*(2^n) - b ) + b
= (a+b )*(2^n) + (a+b )*(2^n) - b
= 2*(a+b )*(2^n) - b
= (a+b )*(2^n+1) - b
Since both the base case and the inductive steps holds we can conclude that f(n) = (a+

*(2^n) - b is indeed the same as the recursive solution.
For getting the formula in the first place I relied on my memory. I don't really remember any way other way than guessing unfortunately.
I do hope this helps you if you have to prove the worst case running time.
Note that if you have solved it for the fibonacci numbers then you practically have the solution.
Best regards,
Thomas
Edit: Darned smilies
This post has been edited by Vestah: 2 Nov, 2009 - 05:27 AM