A program should take an input on stdin, and guess what a word might be. It should run as a session. One example session is shown below. Characters are fed to it, with a * for a letter not revealed; it should remember letters already revealed. It shows possible words in a list if the total number words found is less than 20, otherwise it shows the count of words.
/usr/share/dict/words on any Linux/Unix for the list of words, or your favourite word list on other platforms.
Example session (yours may vary):
>>> ***** 6697 matches >>> G**** 312 matches >>> *u*** Trying Gu*** 35 matches >>> Gu**s Gus's Guy's guess gulfs gulls gulps gum's gun's gurus gusts gut's guy's 12 matches >>> **e** Trying Gue*s Is it "guess"?