## Problem:

The number 3797 has an interesting property. Being prime itself, it is possible to continuously remove digits from left to right, and remain prime at each stage: 3797, 797, 97, and 7. Similarly we can work from right to left: 3797, 379, 37, and 3.

Find the sum of the only eleven primes that are both truncatable from left to right and right to left.

NOTE: 2, 3, 5, and 7 are not considered to be truncatable primes.

748317

## Code:The solution may include methods that will be found here: Library.java .

public interface EulerSolution{

public String run();

}
/*
* Solution to Project Euler problem 37
* By Nayuki Minase
*
* http://nayuki.eigenstate.org/page/project-euler-solutions
* https://github.com/nayuki/Project-Euler-solutions
*/

public final class p037 implements EulerSolution {

public static void main(String[] args) {
System.out.println(new p037().run());
}

public String run() {
long sum = 0;
for (int count = 0, n = 10; count < 11; n++) {
if (isTruncatablePrime(n)) {
sum += n;
count++;
}
}
return Long.toString(sum);
}

private static boolean isTruncatablePrime(int n) {
// Test if left-truncatable
for (long i = 10; i <= n; i *= 10) {
if (!Library.isPrime(n % (int)i))
return false;
}

// Test if right-truncatable
for (; n != 0; n /= 10) {
if (!Library.isPrime(n))
return false;
}

return true;
}

}