I found a puzzle in http://www.puzzles.ca/wordsearch/transportation.html where one has to find word in a grid and (s)he can read words from 8 directions. The following question
An algorithm is described in this SO question also
https://stackoverflow.com/a/23435654/3591273
Hope this helps
UPDATE: Summary of an algorithm (as given in previous link)
Randomly select the first empty wordslot to be filled from the grid and fill it with a suitable word
Find all empty wordslots that have intersections to already filled wordslots
Sort them by a constraint ratio (eg number of available solutions for each one)
Loop through the empty slots of previous step and try a number of candidate words (from the available words)
Select the wordslot and the word to fill that retains grid consistency (ie grid has a solution after this word slot is filled with this word) and also the number of solutions in next step is maximum (this minimises bactracks in next steps) and go to step 2
If no word found in previous step, try to backtrack to a previous word and use an alternative candidate (unless available candidates are exhausted)
Optionally reset any word slots that might need reset after the backtrack (ie mark them as empty again) and go to step 2
If no backtrack found then this configuration has no solution
If all empty slots are filled you have one solution