### algorithm approach

#function that takes in incomplete word and returns list of possible words (can take in possible letters)

#function that takes in a word and a vector space and a clue and finds the closest semantic match

#function that takes a crossword, looks for clue with highest confidence and attempts to solve it



### googling approach




### exhaustive search approach
 # for each clue, generate the list of possible words
 # for each tile, track the possible letters. 
 # use the limitations of the letters to eliminate some words
 # when searching, choose a word to place and update possible words for each clue


### trained network with knowledge base approach

