This is a variant of a Random Walk problem.
This will not be a simple program. While I don't have the expertise to compute exactly how many possible Paths there are, I imagine it will be on the order of magnitude of n^n-1^^n-1 where n is the number of grid cells
I think you will need at least a Grid Class so that the code is not continually accessing the worksheet, and a Dictionary Class so that possible Steps and legitimate Paths can be validated.
The first step in creating an algorithm is determine the rules or restrictions or parameters.
- Rule 1) No fewer than 3 steps per path
- Restriction 2) Cannot reuse a grid cell
- Parameter 3) each step must be on a legitimate path
- What to do when one path contains many words (Feel, Feeling, Feelings)
- How to handle when one starting cell leads to many paths (Feel, Fetch, Free, Field)
- What to do when different paths return the same words.
- Storing the legitimate results
- How many CPU (core)s are available? Speed will be "Of The Essence" in this endeavor. Classes Are Essential.
- ???
- ???
- ???
The next possible step from any Cell (i, j) is always (i|i+1|i-1, j|j+1|j-1). These can be defined as Up, Down, Left, Right, UpLeft, DownLeft, UpRight. and DownRight. This is one place where Recursion could be used.