Graph Trilateration

Problem statement: Calculate the x,y position of all points that satisfy the graph. Given edge distances one (or possibly more solutions) may be possible. - P1 could be selected as the oriign - The problem shown can be represented as a 3x4 matrix of edge lengths (A solution would preferably support a 3x3 matrix or larger) ......A........B........C........D P1 04.56 16.80 04.82 11.84 P2 11.45 11.82 10.23 06.90 P3 16.51 02 .00 20.16 17.12
Extra tasks: Can the solution determine if there is more than a single solution? So If only P1 and P2 are used there may likely be multiple A/B/C/D points that satisfy the edge lengths? Can the solution scale to >3 samples? So if you added a P4/5/6 would the solution continue to work?