# Pandigital Fibonacci ends

Author: Moritz Lenz

https://projecteuler.net/problem=104

The Fibonacci sequence is defined by the recurrence relation:

```Fₙ = Fₙ₋₁ + Fₙ₋₂, where F₁ = 1 and F₂ = 1.
```

It turns out that F₅₄₁, which contains 113 digits, is the first Fibonacci number for which the last nine digits are 1-9 pandigital (contain all the digits 1 to 9, but not necessarily in order). And F₂₇₄₉, which contains 575 digits, is the first Fibonacci number for which the first nine digits are 1-9 pandigital.

Given that Fₖ is the first Fibonacci number for which the first nine digits AND the last nine digits are 1-9 pandigital, find k.

Source code: prob104-moritz.pl

```use v6;

say "please be patient, this is going to take a while";

sub is-pandigital (Str \$i) {
return 1 unless \$i.chars == 10;
my %seen;
for \$i.split: '' {
return if %seen{\$_};
%seen{\$_} = 1;
}
return 1;
}

my @fib = 1, 2;
my \$n = 3;

while 1 {
my \$f = @fib + @fib;
@fib.push: \$f;
shift @fib;
my \$first = try {\$f.substr(0, 10)};
my \$last  = try {\$f.substr(-10)  };
next unless \$first && \$last;
if (is-pandigital(~\$first) && is-pandigital(~\$last)) {
say \$f;
say \$n;
exit;
}
\$n++;
say \$n unless \$n % 1e4;
}

```