I was solving competitive coding questions, when I read this discussion (via codeforces.com) about efficiently calculating the nth term of a fibonacci series. Here is the relevant comment:
Think about the formula...
$$F_i \;=\; F_{i-1} + F_{i-2} \;=\; 2F_{i-2} + F_{i-3} \;=\; 3F_{i-3}+2F_{i-4} \;=\;\cdots$$ If you keep on with the formula, assuming $F_0 = 1$ and $F_1 = 1$, you'll reach a point where$$F_i = \begin{cases} (F_{i/2})^2 + (F_{(i/2) - 1})^2 & \text{if $i$ is even}\\[0.5em] F_{\lceil i/2 \rceil} F_{\lfloor i/2 \rfloor} + F_{\lfloor i/2 \rfloor} F_{\lfloor (i/2)\rfloor - 1} & \text{if $i$ is odd} \end{cases}$$
However, I am unable to deduce how he came up with the formula. I did break down the original formula for Fibonacci numbers further but can't see any way to reduce this to $n/2$-th term.
If someone could shed light on this I would be quite thankful.