//	M101 : R_~̒S߂
option double;

//------------------------------------------------------------------------------//
//	R_~̒S߂													//
//																				//
//	߂l	F	~̒SWi[0]=x, [1]=y)										//
//------------------------------------------------------------------------------//
function main()
{
	define	x1 = -1.0,	y1 = +1.0;
	define	x2 = +2.0,	y2 = +4.0;
	define	x3 = +5.0,	y3 = +1.0;
	define	x, y;

	_Cls();

	_Pd("p1 = ("); _Pd(x1, 5, 2); _Pd(", "); _Pd(y1, 5, 2); _Pd(")\n");
	_Pd("p2 = ("); _Pd(x2, 5, 2); _Pd(", "); _Pd(y2, 5, 2); _Pd(")\n");
	_Pd("p3 = ("); _Pd(x3, 5, 2); _Pd(", "); _Pd(y3, 5, 2); _Pd(")\n");

	define	rc[2];

	x = ((y1 - y3) * (M(y1) - M(y2) + M(x1) - M(x2)) -
		 (y1 - y2) * (M(y1) - M(y3) + M(x1) - M(x3))) /
		 (2.0 * (y1 - y3) * (x1 - x2) - 2.0 * (y1 - y2) * (x1 - x3));

	y = ((x1 - x3) * (M(x1) - M(x2) + M(y1) - M(y2)) - 
		 (x1 - x2) * (M(x1) - M(x3) + M(y1) - M(y3))) /
		 (2.0 * (x1 - x3) * (y1 - y2) - 2.0 * (x1 - x2) * (y1 - y3));

	_Pd("\nx = "); _Pd(x, 6, 3); _Pd(",  y = "); _Pd(y, 6, 3); _Pd("\n");

}
//------------------------------------------------------------------------------//
//	̓lԂ															//
//------------------------------------------------------------------------------//
function M(n)
{
	return n * n;
}
