Вот вам очень простой алгоритм, ищется меньше минуты.
1) Просматриваем все буквы слева-направо, сверху вниз
2) Если буква D или G, идем дальше, иначе к пункту 1 (переход к следующей букве)
3) Просмотреть две следующих буквы в 4-х направлениях: от текущей вниз, от текущей направо, от текущей налево-вниз, от текущей направо-вниз. Если это слово "DOG" или "GOD", заканчиваем поиск, иначе к пункту 1.
Можно для простоты сначала поискать для буквы D, а потом для буквы G.
1) Просматриваем все буквы слева-направо, сверху вниз
2) Если буква D или G, идем дальше, иначе к пункту 1 (переход к следующей букве)
3) Просмотреть две следующих буквы в 4-х направлениях: от текущей вниз, от текущей направо, от текущей налево-вниз, от текущей направо-вниз. Если это слово "DOG" или "GOD", заканчиваем поиск, иначе к пункту 1.
Можно для простоты сначала поискать для буквы D, а потом для буквы G.