差分を取得しているコードを追ってみても、そもそもどうやったら差分がとれるかという基礎知識がないので何をやっているのかさっぱりです。
大まかな流れでいいので日本語で、差分を取得する方法を説明してもらえませんでしょうか。
もしくは説明しているページはありませんでしょうか。
"テキスト 差分 アルゴリズム"で検索したところ、それらしいページがいくつか出てきました。その中から、比較的直接的にアルゴリズムを紹介しているページを紹介しておきます。
http://hp.vector.co.jp/authors/VA007799/viviProg/doc5.htm
余談ですが、2つのDNAの塩基配列を比較する時も似たような方法をよく使います。