I have written such a program for UNIX. It uses a dictionary containing English words to generate meaningful anagrams. Plus, it has options to use certain groups of letters. I've included the README file at the end of this message. Just to show you, here are some anagrams I've generated using the program. The names I chose are mostly those of people on USENET -- except for Chelsea Clinton, of course. /////////////////////////////////////|\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ A S N LISTS OF TOP TEN ANAGRAMS GENERATED USING A PROGRAM AND ENGLISH DICTIONARY: M A A G "Tim F. O'Donoghue": "Svein Arild Bergest": "Felipe Hervias": R R G A 10. Emu hot-dog info 10. Drivelers' bang site 10. Verifies aleph A M 9. Foot dim enough? 9. Riverbed's genitals 9. A peevish lifer N S 8. Nought if mooed 8. Televises bar grind 8. Eviler fish pea A A 7. Omit hog fondue 7. Redelivers basting 7. He, viper falsie S N 6. Domino thug foe 6. Everlasting debris 6. Pelvis afire, eh? M A 5. Fig thou mooned 5. Sever bird genitals 5. Rapes hive life A G 4. Minute food hog 4. Bad, regressive lint 4. Evil asp heifer R R 3. Moot feuding, ho! 3. Virgin bleeders sat 3. Elvish pie fare G A 2. Ooh! Mounted fig! 2. Believes rats grind 2. Pelvis hair fee A M 1. Him tongue-food 1. Baldness-rite giver 1. Life via herpes N S A A "Mark E. Bradley": "My name is Brian Rost": "Peter Stein": S N M A 10. Eked mylar bra 10. "Tiny bra" as misnomer? 10. Tense tripe A G 9. Merely bad ark 9. Ram insertion abysm 9. Peer sent it R R 8. Reek, my bar lad! 8. Brain emits masonry 8. Pet entries G A 7. Drab lye maker 7. My aberrant mission 7. Teen priest A M 6. Dearly embark 6. Ministers: moan, bray! 6. Pest in tree N S 5. My, a dark rebel! 5. Mini breasts ram yon! 5. Terns pee it A A 4. Markedly bare 4. Miry satanism boner 4. It's pre-teen S N 3. Remark: ye bald 3. Abnormity seminars 3. Terse, inept M A 2. Abler dyke ram 2. Brain mass enormity 2. Entire pest A G 1. Bred malarkey 1. My minor's in a breast 1. Retints pee R R G A "Daniel Drucker": "Legendary Basement Brats": A M N S 10. Dicked Earl? Run! 10. Agent bent, embarrassedly A A 9. A dried clunker 9. Artless baby derangement S N 8. Red deck urinal 8. Ass enlargement at dry ebb M A 7. Dear Uncle Dirk 7. Statesmanly breeder bang A G 6. Unclear kidder 6. Bears estrangement badly R R 5. Rekindled a cur 5. Bye, bastard enlargements! G A 4. A kindred ulcer 4. Ma: beery sandblaster gent A M 3. Naked cur idler 3. Beastly bra derangements N S 2. Lurid, cankered 2. Regrettably ban semen ads A A 1. Dick launderer 1. Granny breeds stablemate! S N M A "Chelsea Clinton": "daz@gnu.ai.mit.edu is a wanker": A G R R 10. Nonascetic hell! 10. Urinated zamia wig -- unasked! G A 9. Ethnic Al's clone 9. Am awaiting kudzu arsenide A M 8. Cancel Holstein! 8. Agendum: audit Nazi swimwear N S 7. Ill canoe-stench 7. Urinated animized auk swag A A 6. Clenches at loin 6. A unitized wigmaker anus ad S N 5. Ill acne notches 5. Uniting dazed, weak Samurai M A 4. No clean clit, she 4. Await a mad dunking seizure A G 3. Enchants Collie 3. Audit amazing nude skiwear R R 2. Lone snatch lice 2. Wait! I am said drunken gauze! G A 1. Clan incest hole 1. Aw! A kid urine magazine stud! A M N SANAGRAMSANAGRAMSANAGRAMSANAGRAMSANAGRAMSANAGRAMSANAGRAMSANAGRAMSANAGRAMSANAGRA [README file for anagram.c] You can obtain a copy of the program with the following commands: ftp ftp.doe.carleton.ca (usr) anonymous (pwd) ident cd pub/scrabble bin get anagram.tar.Z quit zcat anagram.tar.Z | tar xvf - rm anagram.tar.Z To compile the C file, I suggest using gcc -O2 -o anagram anagram.c Now, the format of a command is anagram letters [numbers] [suggested words] where letters is a string of lower case letters only. The optional [numbers] fields force the program to look for anagrams that contain words of each length. Up to ten word lengths may be specified. This is useful when you have a very large number of letters (e.g., more than 20) that you wish to permute, and you wish for the program to skip over all the anagrams containing only short (three and four letter) words. For example, when you are looking for anagrams of 30 letters, you might include the lengths "8 8 8" to force three of the words to be eight letters long each. The optional [suggested words] fields are taken one at a time, and they consist of lower case letters (a-z) only too; each set of these letters is removed from the original letters, and anagrams of the remaining letters are found. This can be useful when you wish to find anagrams involving particular words or a proper name. Both optional fields can be specified at the same time. If no command line arguments are specified, you are prompted for the arguments; after the program has found all anagrams, it returns you to the prompt. Examples: anagram jamescherry (find all anagrams of "jamescherry") anagram jamescherry 5 (forces at least one of the words to be 5 letters long) anagram jamescherry 6 5 (forces one word to be 6 letters long and the other to be 5 long) anagram jamescherry charm (find all anagrams where "charm" is one of the words) anagram (enters interactive mode; then typing "jamescherry" at the prompt is the same as example 1, above. Likewise "jamescherry 5" at the prompt is the same as example 2.) NOTE: You must supply an English dictionary; I do NOT recommend /usr/dict/words as it is very small! The key problem with /usr/dict/words is that it does not have many plural forms and verb forms. For example, my local copy of /usr/dict/words has "abate" and "abater", but not "abates", "abated", or "abating". As a result, many potential anagrams will not be found if you use /usr/dict/words. I highly recommend using the dictionary that is supplied in the tar file. It's big, but it's good. -- James A. Cherry "Deal with it, pal!"