add enhanced Fibonacci algorithm

add cache to calculated element