title: Efficient way of Solving Cryptarithms
body: <p>Hi i came across this puzzle which is a subset of famous kind of word and numbers based puzzles called <a href="http://en.wikipedia.org/wiki/Verbal_arithmetic" rel="nofollow noreferrer">Cryptarithms</a>. Say you have an expression as</p>
  
  <p>S E N D +  M O R E = M O N E Y </p>
  
  <p>Now the interesting part there is that, each alphabet is representing a unique digit from 0-9. I wanted to write a generalized solver, but i ended up writing a brute forced solution for it. Any takers as how can i solve it? </p>
  
  <p>I think it can be solved using predicate logic or set theory. And i'm particularly interested in finding C# or Python based solutions. Any one.?</p>