Here comes a quick one. Not fully tested
(defun c:pp()
(setq l1 10.0 l2 13.6 l3 9.21)
(setq p1 (list 3.3 2.2) p2 (polar p1 0.1234 l1))
(setq p (* (+ l1 l2 l3) 0.5))
(setq area (sqrt (* p (- p l1) (- p l2) (- p l3))))
(setq h (/ area l1 0.5))
(setq h1 (sqrt (- (* l2 l2) (* h h))))
(setq ang (atan h h1))
(setq p3 (polar p1 (+ ang (angle p1 p2)) l2))
(setq p4 (polar p1 (- ang (angle p1 p2)) l2))
)
Just a word of warning: working in 2D, there are two solutions to your request. This Lisp will show one of them in P3, and the other one in P4. You will need more conditions to find the right one