Algorithm to find "truncatable words"?
Here is a simple implementation strategy.

Find all three-letter truncatable words.  Every three-letter word is truncatable, so this is a linear scan through the dictionary to find the three-letter words.  Store them in a hashtable.

Find all four-letter truncatable words.  You can check whether a four-letter word wxyz is truncatable by checking whether wxy is a truncatable word; the latter can be checked by looking it up in the previous hashtable.  So, this can be done with a linear scan through the dictionary.  Store all four-letter truncatable words in a hashtable.

Find all five-letter truncatable words, by a linear scan plus a lookup in the hashtable for four-letter truncatable words.  Note that given a word vwxyz, it suffices to check whether vwxy is truncatable (you don't need to check vwx).

Find all six-letter truncatable words.

And so on.  Finish when you've exhausted the length of words in the dictionary.