○○○○ - ○○○○ = ○○○○

他のサイトにあった問題です。
この計算の中に0~9の数字を使わなければいけないといった問題です。
同じ数字を使っても良いです。
0~9の数字を全て使ってかつ、正しい筆算になるのは何通りなのか求めたいです。

javaかCで解きたいのですが、解き方が浮かびません。
また、このような問題を解くときに便利なライブラリ等はあるのでしょうか?
解き方や考え方を教えてください。