Javascript (ES6), <strike>151</strike> 60 bytes ====== New version, credits to @[Leaky Nun][1] x=i=>console.log('x='+x+';x('+(i*(5**.5+1)/2+.5|0)+')');x(2) Old version : x=i=>{var s=Math.sqrt(5),a=1;f=n=>{return Math.ceil((((1+s)/2)**n-((1-s)/2)**n)/s)};while(f(++a)<=i);console.log('x='+String(x)+';x('+f(a)+')');};x(2) Based on [this][2]. [1]: https://codegolf.stackexchange.com/users/48934/leaky-nun [2]: https://stackoverflow.com/a/19892721/6882070