I still not understand, Why isn't there a way other than trial and error method to find the numbers?
Why isn't there a rule or a systematic way to calculate it, other than guess (or use program computer :~|) to find the numbers?
When I said "trial and error", I meant
intelligent trial and error, which can be partly systematic and can use knowledge of numbers to limit the number of trials. But I don't know of a way to do it without many trials and many errors -- more trials than errors, because you can expect many answers, rather than one unique answer, by rearranging the same set of digits.
The thing that makes it hard is the requirement that no digits repeat, which means that algebra, while perhaps useful to cut down the number of attempts, can't go all the way to an answer.
One thing you can use to restrict possibilities to test is divisibility rules. For example, the sum of the digits in the entire sum is 45, which is a multiple of 9. If we look at the equation (mod 9), that is, think only about remainders on division by 9, we can see that we are dividing the nine digits into two sets whose sums differ by a multiple of 9, which implies (if you think about it long enough) that the sum is itself a multiple of 9. That gives you fewer numbers to try, but you still have to check many of them.
And I doubt there is a direct way to count the number of solutions; it turns out to be 168, according to
this page.