Skip to content

Instantly share code, notes, and snippets.

@lux01
Last active August 29, 2015 14:21
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save lux01/6be8d8de2a540416029d to your computer and use it in GitHub Desktop.
Save lux01/6be8d8de2a540416029d to your computer and use it in GitHub Desktop.
That Weird Snake Arithmetic Thing
Total number of solutions found: 144
[2,1,6,4,5,3,7,8,9]
[2,7,6,4,3,5,1,8,9]
[5,7,4,1,8,6,3,2,9]
[8,7,3,1,2,4,5,6,9]
[3,1,4,8,5,2,7,6,9]
[7,1,2,4,5,8,3,6,9]
[1,2,4,7,5,8,3,6,9]
[5,8,3,1,2,4,7,6,9]
[3,7,8,5,4,1,2,6,9]
[7,2,1,8,4,6,5,3,9]
[4,6,1,7,2,8,5,3,9]
[4,6,1,5,2,7,8,3,9]
[1,4,2,8,5,7,6,3,9]
[1,8,4,7,5,2,6,3,9]
[1,8,7,2,6,3,5,4,9]
[7,1,2,8,6,3,5,4,9]
[8,2,1,6,3,5,7,4,9]
[8,2,1,7,3,6,5,4,9]
[2,1,3,6,8,7,5,4,9]
[2,3,5,6,7,8,1,4,9]
[4,5,1,7,3,6,9,2,8]
[7,3,9,4,5,2,1,6,8]
[2,6,9,1,7,3,5,4,8]
[3,2,6,1,9,7,5,4,8]
[7,1,3,9,6,5,2,4,8]
[7,3,1,9,2,5,6,4,8]
[6,2,1,5,3,9,7,4,8]
[5,7,9,1,6,2,3,4,8]
[7,9,5,6,3,1,2,4,8]
[1,9,7,2,5,3,6,4,8]
[2,1,5,3,9,6,7,4,8]
[5,6,9,7,1,4,3,8,2]
[5,7,6,9,4,8,3,1,2]
[5,4,9,6,1,3,7,8,2]
[3,9,6,5,4,8,7,1,2]
[8,5,9,3,6,4,7,1,2]
[5,6,9,3,1,4,7,8,2]
[6,8,4,5,3,9,7,1,2]
[7,3,6,9,1,5,4,8,2]
[7,9,5,3,1,8,6,4,2]
[7,9,5,6,1,8,3,4,2]
[5,8,6,9,1,3,7,4,2]
[5,8,6,7,1,3,9,4,2]
[5,4,9,3,7,6,8,1,2]
[5,4,9,7,1,3,6,8,2]
[7,3,6,4,1,5,9,8,2]
[9,4,3,5,2,1,8,6,7]
[8,5,9,1,4,2,3,6,7]
[5,4,1,9,3,8,6,2,7]
[5,4,3,9,6,1,8,2,7]
[2,5,6,4,3,9,1,8,7]
[8,4,6,5,9,3,1,2,7]
[6,9,3,1,4,8,5,2,7]
[3,9,4,6,5,1,8,2,7]
[2,1,6,3,8,5,9,4,7]
[8,6,9,3,5,2,1,4,7]
[8,1,3,9,5,2,6,4,7]
[2,1,5,8,6,3,9,4,7]
[2,7,6,5,1,4,9,8,3]
[7,2,6,8,9,5,4,1,3]
[7,6,8,9,2,5,1,4,3]
[1,6,7,8,2,5,9,4,3]
[8,6,9,5,2,1,7,4,3]
[2,6,5,4,7,8,9,1,3]
[1,9,7,5,2,8,6,4,3]
[7,9,8,5,6,2,4,1,3]
[8,1,7,5,6,4,9,2,3]
[8,1,7,9,2,4,5,6,3]
[7,1,4,9,2,8,5,6,3]
[7,4,8,5,9,6,2,1,3]
[2,8,4,9,1,7,5,6,3]
[9,1,4,8,2,7,5,6,3]
[1,4,7,5,2,9,8,6,3]
[2,8,4,5,1,7,9,6,3]
[7,5,8,4,2,9,1,6,3]
[5,2,4,9,8,7,6,1,3]
[5,4,9,1,6,8,7,2,3]
[9,2,4,7,8,6,5,1,3]
[2,7,6,9,1,4,5,8,3]
[1,7,8,6,4,5,9,2,3]
[7,3,4,9,2,5,1,8,6]
[3,7,2,4,1,9,5,8,6]
[3,4,8,7,9,5,1,2,6]
[8,4,7,3,9,5,1,2,6]
[8,4,3,9,5,7,1,2,6]
[7,2,8,1,9,4,5,3,6]
[8,9,7,1,4,2,5,3,6]
[1,4,7,5,3,9,2,8,6]
[7,1,3,8,9,5,4,2,6]
[1,9,3,7,2,5,8,4,6]
[3,7,2,5,1,9,4,8,6]
[3,5,2,7,8,9,4,1,6]
[3,5,4,1,2,7,9,8,6]
[1,2,7,5,3,4,9,8,6]
[7,2,5,1,3,4,9,8,6]
[2,1,5,3,7,9,8,4,6]
[5,1,9,3,7,2,8,4,6]
[1,2,7,5,8,9,4,3,6]
[7,2,5,1,8,9,4,3,6]
[1,5,7,4,9,3,8,2,6]
[5,4,9,1,8,7,2,3,6]
[5,1,9,2,4,3,7,8,6]
[5,2,4,1,3,7,9,8,6]
[5,4,9,1,3,2,7,8,6]
[2,7,3,6,1,9,5,8,4]
[7,1,3,9,6,8,5,2,4]
[9,3,2,7,6,5,8,1,4]
[9,3,2,6,1,7,5,8,4]
[3,6,8,7,5,1,9,2,4]
[2,6,3,9,1,7,5,8,4]
[2,6,3,5,1,7,9,8,4]
[9,6,3,8,5,7,2,1,4]
[8,6,9,7,5,3,1,2,4]
[2,7,3,5,1,9,6,8,4]
[8,1,7,3,9,5,6,2,4]
[1,9,7,3,5,8,6,2,4]
[1,3,7,5,2,6,9,8,4]
[9,3,2,5,1,7,6,8,4]
[8,3,9,5,7,6,1,2,4]
[7,9,5,8,3,6,1,2,4]
[2,9,5,7,1,3,6,8,4]
[9,5,3,8,1,2,7,6,4]
[5,3,2,7,1,6,9,8,4]
[9,5,3,7,1,2,8,6,4]
[5,1,9,2,3,6,7,8,4]
[5,3,2,9,1,6,7,8,4]
[5,1,3,9,6,7,8,2,4]
[5,1,6,9,7,8,3,2,4]
[2,9,5,6,1,3,7,8,4]
[5,1,6,2,3,9,7,8,4]
[5,1,6,3,9,7,8,2,4]
[3,6,4,8,9,7,2,1,5]
[1,9,6,2,3,7,8,4,5]
[6,3,4,7,2,9,1,8,5]
[7,6,4,2,9,8,3,1,5]
[9,3,2,4,8,7,6,1,5]
[3,1,4,9,8,6,7,2,5]
[9,7,2,8,4,3,6,1,5]
[2,9,4,3,8,6,7,1,5]
[4,9,3,2,6,7,8,1,5]
[7,9,4,8,6,2,3,1,5]
[9,4,8,6,7,3,1,2,5]
[4,1,6,7,3,9,2,8,5]
[4,6,3,9,7,2,8,1,5]
module Main (main) where
import Data.List (permutations)
import Control.Monad (forM_)
gridValue :: [Float] -> Float
gridValue xs = ((((((a + 13)*b)/c)+d + 12) * e) - f - 11 + g) * h / i
where a = xs !! 0
b = xs !! 1
c = xs !! 2
d = xs !! 3
e = xs !! 4
f = xs !! 5
g = xs !! 6
h = xs !! 7
i = xs !! 8
main :: IO ()
main = do
let perms = permutations [1.0 .. 9.0] :: [[Float]]
solns = map (map floor) $ filter ((76.0 ==) . gridValue) perms :: [[Int]]
putStrLn $ "Total number of solutions found: " ++ show (length solns)
forM_ solns $ print
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment