I don't see what's wrong with my method. you even don't need a "used field" when you simply check each character of a dictionary entry with INSTR to see if i's part of the orginal main word. Ok maybe I didn't get this right, you said you don't want an anagram to be listed twice, which could be filtered easily. If you want to prevent single letters from being used multiple times then you may use the "used" field, as described, or a count_usage field that has to be 1 for valid matches.
I also think it's wrong to generate a list of possible anagrams if you are going to remove those that are not part of the dictionary anyway.
I also think it's wrong to generate a list of possible anagrams if you are going to remove those that are not part of the dictionary anyway.