Загоняешь слова из словаря в массив из стрингов. Потом считываешь по одному слову и прогоняешь по циклу, который работает с этим словом и каждым словом из словаря. Если прога на плюсах, то можно использовать метод find_first_not_of, который проверит, есть ли иные буквы. Далее если иных букв много, то скипаем это слово. Если иная буква одна, то сравниваем размеры слова с помощью size(), если они одинаковые, то слово подходит. Если метод find_first_not_of возвращает string::npos, то опять сравниваем длину слов. Если эта разница составляет единицу, то нам это слово подходит