in reply to (un)jumbler...

I have a crossword helper program 'word' that will let you do this: '-a' specifies anagram and '-u' specifies a subset of the supplied letters, so I'd use it so:

zen% word -ua dude de dud dude due dued Ed zen%

The program always constructs a single regexp that matches the things it's searching for, in this case:

/^(?:(?:([eu])(?!.*\1)|([d])(?!.*\2.*\2))+)\z/oi

Hugo