Program that, given a grid and an appropriate dictionary of words, tries to fill the grid with words in a crossword-style fashion.