This thread is getting a bit messy. So I am going to write a quick summary and how I would tackle the problem.
First: Coordinates are almost never integers, and once you have solved a 2d problem you often need a 3d solution, and sometimes higher dimensions.
What has been missed (I think), is a clear understanding of what can be done with coordinate transforms and vectors.
Considers a triangle defined by 3 points A, B ,C and each point
is A is (ax,ay) , B is (bx,by) etc...
Any linear translation or rotation or scaling, does not change the angle . For example triangle if you cut a triangle from paper and then drop it on your desk. You can rotate it any way you like cand you can place it anywhere you like and the angles don't change.
That relates to the problem in that you can translate the triangle to an origin. e.g after entering three points A,B,C as above, you shift the triangle by -A to get three new points which include the origin (0,0).
However, you can find the vector displacement that connects the points. For example, if you want to go from A to B, then you need to move (bx-ax,by-ay), likewize B to C is (cx-bx,cy-by) and going from C to A is (ax-cx,ay-cy), these vectors can be written as

etc.
For two vectors, the dot product is defined as.
)
where

means the magnitude of A and

is the angle between the vectors
What is really useful is that it is VERY easy to calcuate.
It is readily provable that for a vector in cartisian coordinates (x,y,z etc) as you have, that

where * is the multiplication.
E.g. if A=(1,2) and B=(4,7)
The dot product is 1*4+7*2=18.
Now the most useful thing about this is that cos(90) = 0.
So you test two vectors and they are perpendicular then you always get a zero dot product.
So to test your triangle, you calculate the three vectors |AB|, |BC| and |CA| and determine if any two have zero dot product. This is normally easier than calculating all the length. It doesn't involve sqrt functions, [Although you can avoid them in the length system if you are careful]. It also allows you to calcuate a large number of other things when needed. e.g. the area (use a cross product), regardless if the triangle has a 90 angle.
This method requires at maximium, three vector subtrations ,and three vector multiplications. It is mostly robust to special cases : You only need to check that two of the points are not identical. That makes it simpler than the methods proposed above.