Cryptogram solver in Prolog?

Use_module(library(clpfd)). True.?- Vars=A,B,C,D,E,F,G,H, Vars ins 0..9, A#\=0, D#\=0, ((10*A + B)*10+C)*99 #= ((10*D+E)*10+F)*(10*G+H),all_distinct(Vars),forall(label(Vars),format('~w~n',Vars)). 1,0,8,2,9,7,3,6 1,0,8,3,9,6,2,7 1,3,0,2,8,6,4,5 1,3,0,4,9,5,2,6 1,3,8,2,9,7,4,6 1,3,8,5,0,6,2,7 1,6,0,4,9,5,3,2 1,8,0,3,9,6,4,5 1,8,0,4,9,5,3,6 2,0,4,3,9,6,5,1 2,5,9,4,0,7,6,3 2,8,4,3,9,6,7,1 2,8,7,4,5,1,6,3 2,8,7,6,9,3,4,1 2,9,0,6,3,8,4,5 3,1,0,4,9,5,6,2 3,1,0,6,8,2,4,5 3,6,0,4,9,5,7,2 3,6,0,7,9,2,4,5 3,8,0,4,9,5,7,6 4,0,8,5,6,1,7,2 4,0,8,7,9,2,5,1 4,9,3,5,6,1,8,7 5,0,4,6,9,3,7,2 5,0,4,7,9,2,6,3 5,1,8,6,9,3,7,4 5,7,4,6,9,3,8,2 5,7,4,9,0,2,6,3 5,9,4,7,2,6,8,1 6,8,0,9,3,5,7,2 7,5,6,9,2,4,8,1.

You might do the following identifications: let a=0.GHGHGHGH.... Then a = 0.GHGH.... GH + a = GH.GHGHGHGH.... = 100 a GH = 99 a => a = GH/99 So you can replace it by GH/99 in your formulas. Similarly 0. XYZXYZXYZ = XYZ/999.

Thanks for that, you're right. Still I don't know what to do with that since mn/2 works well for constant input and doesn't work when I pass list of variables to it. Mn(1,2,3,W) => W=123, but mn(A,B,C,W) doesn't match anything.

– marines Mar 20 at 18:46.

I cant really gove you an answer,but what I can give you is a way to a solution, that is you have to find the anglde that you relate to or peaks your interest. A good paper is one that people get drawn into because it reaches them ln some way.As for me WW11 to me, I think of the holocaust and the effect it had on the survivors, their families and those who stood by and did nothing until it was too late.

Related Questions