F(n) mod 1000000007, and microseconds per call

n         F(n)          memo us      table us     iter us      matrix us    
40        102334155     0.83         0.53         0.10         0.03         
1000      517691607     18.34        4.04         3.19         0.05         
10000     271496360     177.21       45.30        32.21        0.07         
100000    911435502     2140.96      523.36       325.41       0.09         
250000    608672132     4561.73      1259.70      821.79       0.11         
1000000   918091266     overflow     5041.49      3378.51      0.13         

All methods that ran agreed on every n above.
F(0..10) exactly: 0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55
