How to find a point that is on a line with a certain distance from another point

From this image Imgur: The magic of the Internet, I want to find P4. I know P1, P2 and P3 and also know that M1 (the midpoint of P1 and P2) can be found using:

M1 = 0.5(P1 + P2)

The dashed line joining P3 and P4 should be parallel to the line joining P1 and P2. How can I find P4 such that the distance L1 between P3 and M2 is the same as the distance from M2 to P4? Please note that M2 (midpoint of P3 and P4) is also unknown. All points are Vector3.

Something like project p3 onto your p1p2 line. Get the distance from m1 double it to get p4 then offset p4 by the difference between p3 and line p1p2.