### Cryptarithm

**Cryptarithm** (also known as *"Alphametics"*, *"Cryptarithmetic"*, *"Crypt-arithmetic"*) is a mathematical puzzle involving words where there is a one-to-one mapping between letters and digits that makes the arithmetic equation true. For example:

MOTHER+FATHER=PARENT | => | **196753+286753=483506** |

ONE+THREE+FOUR=EIGHT | => | **942+15722+3987=20651** |

LETTERS+ALPHABET=SCRABBLE | => | **7088062+17531908=24619970** |

SIX*TWO=TWELVE | => | **986*345=340170** |

The arithmetic expression can contain round brackets, signs of addition (**+**), subtraction (**-**), multiplication (*****), division (**/**), raising to a power (**^**) and factorial (**!**). Also the character **?** can be used instead of *any* digit. For example:

HE^2=SHE | => | **25**^{2}=625 |

C+O+O=L! | => | **6+9+9=4!** |

WHO-AM=I? | => | **105-28=77** |

The user may define the known values (digits) for letters. It will accelerate the search process.

Also the user can define additional search conditions: vowels correspond to even digits, consonants correspond to odd digits (or vice versa). For example, if vowels correspond to odd digits and consonants correspond to even digits, this cryptarithm would have only one solution:

TWO+TWO=FOUR | => | **469+469=0938** |

**Note**: The list of vowels can be defined in the window **Options** (other letters of alphabet are considered as consonants).