On Fri, 26 Aug 2005 15:24:22 +0200, Ruby Quiz <james / grayproductions.net>  
wrote:

> Bonus points for finding the shortest chain and/or a small execution  
> time.

How about another bonus challenge:

If your program can find the shortest chain between two words, then  
extend/modify it to find a longest shortest chain for all words with n  
letters in the dictionary.
In other words: find two words for which the shortest chain is at least as  
long as the shortest chain between any other word pair.

For example:

$ ruby longest_shortest.rb -d /usr/share/dict/words 4
idol
idyl
odyl
odal
oral
orad
brad
bead
beak
beck
back
bach
each
etch
utch
utah
utas
upas
$ ruby longest_shortest.rb -d /usr/share/dict/words 5
alure
azure
azury
anury
anura
abura
abuta
aluta
alula
amula
amala
amara
arara
araca
braca
brava
breva
breve
beeve
belve
belee
besee
resee
resex
remex
remix
remit
demit
dimit
digit
dight
wight
wicht
wecht
pecht
pacht
yacht
yasht


Dominik