Алгоритм: слова в словаре сортированы по длине, перебирать с максимального, останавливаясь при первом совпадении, деревья возможных путей можно составить заранее (для 5*5=25 по ~120 веточек), после переборки всех путей, максимальное слово будет найдено. А вот красивое оформление посложнее
