1.Runtime.exec(String command) 使ってソルバー起動
2.上記1の戻り値であるProcessオブジェクト取得
3.新しくスレッド2つ起動する
1つ目はそのProcessオブジェクトからgetOutputStream()で標準出力取得するスレッド
2つ目はそのProcessオブジェクトからgetErrorStream()でエラー出力取得するスレッド
4.3の標準出力取得するスレッドで「100個ごと」受け取ったと判断した時点で希望する処理をやらせる

(JDK5ならProcessBuilderでもいい 何が違うのかよう分からんけど)