By the triangle inequality, the smaller two sides' lengths must add up to a number larger than the length of the largest side. So either

or

In other words, either

is not the largest side length, or it is.
Taken together, we must have

, which yields 22 integer solutions.