I'm trying to detect the silhouette edge of a 3d object. I know that you must first determine weather a face is looking at a position then find the edges that are shared between front and back facing. 

I've been able to figure out front and back facing things but I can't figure out how to find if the edges are being shared without a lot of if statements. My vertex data is stored from x1,z1,y1,x2,z2,y2,x3,z3,y3 for every polygon.