-- The arithmetic sequence, 1487, 4817, 8147, in which each of the terms -- increases by 3330, is unusual in two ways: (i) each of the three terms are -- prime, and, (ii) each of the 4-digit numbers are permutations of one -- another. -- -- There are no arithmetic sequences made up of three 1-, 2-, or 3-digit -- primes, exhibiting this property, but there is one other 4-digit increasing -- sequence. -- -- What 12-digit number do you form by concatenating the three terms in this -- sequence? import Euler main = print $ head $ do p <- takeWhile (<= 9999) $ dropWhile (<= 1487) $ primes p' <- takeWhile (<= 9999) $ dropWhile (<= p) $ primes let p'' = 2 * p' - p guard $ p'' <= 9999 guard $ p'' `elem` takeWhile (<= p'') primes guard $ sort (toDigits p) == sort (toDigits p') guard $ sort (toDigits p') == sort (toDigits p'') return $ fromDigits $ toDigits p ++ toDigits p' ++ toDigits p''