55 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
		
		
			
		
	
	
			55 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
|   | --- | ||
|  | id: 5900f4fc1000cf542c51000e | ||
|  | title: 'Problem 399: Squarefree Fibonacci Numbers' | ||
|  | challengeType: 5 | ||
|  | forumTopicId: 302064 | ||
|  | dashedName: problem-399-squarefree-fibonacci-numbers | ||
|  | --- | ||
|  | 
 | ||
|  | # --description--
 | ||
|  | 
 | ||
|  | The first 15 fibonacci numbers are: | ||
|  | 
 | ||
|  | 1,1,2,3,5,8,13,21,34,55,89,144,233,377,610. | ||
|  | 
 | ||
|  | It can be seen that 8 and 144 are not squarefree: 8 is divisible by 4 and 144 is divisible by 4 and by 9. | ||
|  | 
 | ||
|  | So the first 13 squarefree fibonacci numbers are: | ||
|  | 
 | ||
|  | 1,1,2,3,5,13,21,34,55,89,233,377 and 610. | ||
|  | 
 | ||
|  | The 200th squarefree fibonacci number is: 971183874599339129547649988289594072811608739584170445. The last sixteen digits of this number are: 1608739584170445 and in scientific notation this number can be written as 9.7e53. | ||
|  | 
 | ||
|  | Find the 100 000 000th squarefree fibonacci number. Give as your answer its last sixteen digits followed by a comma followed by the number in scientific notation (rounded to one digit after the decimal point). For the 200th squarefree number the answer would have been: 1608739584170445,9.7e53 | ||
|  | 
 | ||
|  | Note: For this problem, assume that for every prime p, the first fibonacci number divisible by p is not divisible by p2 (this is part of Wall's conjecture). This has been verified for primes ≤ 3·1015, but has not been proven in general. | ||
|  | 
 | ||
|  | If it happens that the conjecture is false, then the accepted answer to this problem isn't guaranteed to be the 100 000 000th squarefree fibonacci number, rather it represents only a lower bound for that number. | ||
|  | 
 | ||
|  | # --hints--
 | ||
|  | 
 | ||
|  | `euler399()` should return 1508395636674243, 6.5e27330467. | ||
|  | 
 | ||
|  | ```js | ||
|  | assert.strictEqual(euler399(), 1508395636674243, 6.5e27330467); | ||
|  | ``` | ||
|  | 
 | ||
|  | # --seed--
 | ||
|  | 
 | ||
|  | ## --seed-contents--
 | ||
|  | 
 | ||
|  | ```js | ||
|  | function euler399() { | ||
|  | 
 | ||
|  |   return true; | ||
|  | } | ||
|  | 
 | ||
|  | euler399(); | ||
|  | ``` | ||
|  | 
 | ||
|  | # --solutions--
 | ||
|  | 
 | ||
|  | ```js | ||
|  | // solution required | ||
|  | ``` |