# Are the inputed circles concurrent?
ConcurrentCes:=proc() local P,i:
P:=subs(solve({seq(args[1]-args[i],i=2..nargs)},{x,y}),[x,y]):
for i from 1 to nargs do
true:
end:
# If the inputed (equations of the) circles are C1=0, C2=0, C3=0, ...
# it solves the system of linear equations
# {C1-C2=0, C1-C3=0, ...} and if there is a solution [x,y],
# plugs it into C1, C2, C3, ... to check whether this point
# lies on all inputed circles
if not
PtLiesOnCurve
(P,args[i]) then
RETURN(false): fi:
od: