Very cool algorithm. I just implemented and tested it for fun:
<a href="http://www.nashcoding.com/?p=51" rel="nofollow">http://www.nashcoding.com/?p=51</a><p>Basically, all it's doing is tracking the letter with maximum frequency and subtracting 2x its occurrences next to every other letter. If there's a letter that's still positive in frequency, it keeps going, otherwise it assumes all the vowels have been found. Clever!