Любая сложная задача решается последовательностью простых действий.
развлекайся... тут даже диффуры описаны как простейший алгоритм состоящий из нескольких этапов