Word Chains problem
Write a program that given two valid words, can find a chain of valid intermediate words, wherein each word in the chain differs in only one letter from its neighbors.
Assume words are available in a dictionary. https://github.com/tmobil/CodingExercise/blob/master/english.json
The two words at each end of the chain are: cat ~ dog.
Feel free to be creative, considering options such as words of differing character lengths, memory and performance considerations for the project.