A few remarks, because I think the brute force approach is definitely not the good one. First you are not working with base 16 digits, but with base 256 digits because each of your characters has 2 hexadecimal digits. Second, how would you do in base 10 and an incomplete set of digits to find 3 numbers with a given sum ? This is an incomplete addition. Write it on paper, and will see that you won't use a brute force approach.
When you add 3 digits, there is a carry which can only be 0, 1, 2. The same holds in base 256. Since your result has only 4 digits(256), you are left with 3**3 = 27 possibilities for these carry numbers. For each of this 27 possibilities, you only need to find (4 times) 3 digits which sum is a given number, which is a very simple problem.
So you don't need to go through the hundreds of million cases of the brute force approach.
Gribouillis 1,391 Programming Explorer Team Colleague
vegaseat commented: right on +10
chavanak commented: Helped me a lot and answered my question +1
Gribouillis 1,391 Programming Explorer Team Colleague
vegaseat commented: neat +10
Gribouillis 1,391 Programming Explorer Team Colleague
AnnetteM commented: This post is very helpful +1
Gribouillis 1,391 Programming Explorer Team Colleague
Gribouillis 1,391 Programming Explorer Team Colleague
Gribouillis 1,391 Programming Explorer Team Colleague
lrh9 commented: Sincerely cares about learning and helping others. +1
rlogan1 commented: nice response.Thanks +0
Pupo commented: Nice! +5
Gribouillis 1,391 Programming Explorer Team Colleague
Gribouillis 1,391 Programming Explorer Team Colleague
TrustyTony commented: neat +12
Gribouillis 1,391 Programming Explorer Team Colleague
HiHe commented: Thanks for the help +2
pith commented: Thank you very much +0
thekilon commented: How so true... Programs are not a demonstration of intelegence but automation of usability...even a beginner can make a highly useful programme from very basic concepts +0
mahela007 commented: Informative as usual +1
vegaseat commented: nice idea +9