Sorry, just getting back to this (apparently the "email me with follow-ups" checkbox didn't send me any of your replies). It was a simple regular-expression run against a local dictionary on my computer:

grep '^[aeiouy]\?\([bcdfghjklmnpqrstvwxz][aeiouy]\)*[bcdfghjklmnpqrstvwxz]\?$' /usr/share/dict/words | grep ...............

which roughly translates to "allowing one optional vowel at the beginning of the word, find any number of consonant-followed-by-vowel pairs, optionally followed by one consonant at the end; search the local dictionary file for anything that matches the pattern; take the results and filter them for matches containing at least 15 characters in them". There's something to be said for geekery.