А еще, по сути, их потом можно местами поменять, и получить две уникальные строки:
1) Сравниваем, как A отличается от B (в итоге имеем некое uA, уникальное для строки A)
2) Сравниваем, как отличается B от A ((в итоге имеем некое uB, уникальное для строки B)
3) На выходе имеем uA и uB
А что мешает модифицировать алгоритм под свою задачу? Просто считаем, что каждый символ — отдельная строка в файле. Сравниваем, а потом «склеиваем» уникальные псевдо-строки и получаем уникальный сегмент.
А я в условии никакого упоминания про случайность и не видел :) Сказано «уникальные». И тут каждая строка уникальна. Вот, собственно, и всё, разве не так? )