関数 y=f(x) 上に異なる3点A、B、Cがあるとき、△ABCの外心の座標を、次のf(x)に対し
てそれぞれ求めると何になるか?ただし、A、B、Cの x 座標をそれぞれ a、b、c とする。
(1) f(x)=x2 (2) f(x)=1/x
DD++さんからのコメントです。(平成29年2月15日付け)
(1) A(a,a2) と B(b,b2) を通る直線は、y = x2 - (x-a)(x-b) つまり、y - (a+b)x + ab = 0
また、AB を直径とする円は、(x-a)(x-b) + (y-a2)(y-b2) = 0
ここで、(x-a)(x-b) + (y-a2)(y-b2) - k{ y - (a+b)x + ab } = 0 が C(c,c2) を通るようにす
ると、(c-a)(c-b) + (c2-a2)(c2-b2) - k(c-a)(c-b) = 0 より、k = 1 + (c+a)(c+b)
よって、外接円の方程式は、
(x-a)(x-b) + (y-a2)(y-b2) - { 1 + (c+a)(c+b) } { y - (a+b)x + ab } = 0
整理して、
x2 + y2 + (a+b)(b+c)(c+a)x - (a2+b2+c2+ab+bc+ca+1)y - abc(a+b+c) = 0
したがって、外心は、 ( -(a+b)(b+c)(c+a)/2,(a2+b2+c2+ab+bc+ca+1)/2)
(2) A(a,1/a) と B(b,1/b) を通る直線は、
y = 1/x - (x-a)(x-b)/abx つまり aby + x - a - b = 0
また、AB を直径とする円は、 (x-a)(x-b) + (y-1/a)(y-1/b) = 0
ここで、(x-a)(x-b) + (y-1/a)(y-1/b) - k( aby + x - a - b ) = 0 が C(c,1/c) を通るように
すると、(c-a)(c-b) + (1/c-1/a)(1/c-1/b) - k(c-a)(c-b)/c = 0 より、k = c + 1/abc
よって、求める方程式は、
(x-a)(x-b) + (y-1/a)(y-1/b) - ( c + 1/abc ) ( aby + x - a - b ) = 0
整理して、
x2 + y2 - (a+b+c+1/abc)x - (1/a+1/b+1/c+abc)y + (ab+bc+ca+1/ab+1/bc+1/ca) =
0
したがって、外心は、 ( (a+b+c+1/abc)/2,(1/a+1/b+1/c+abc)/2 )
GAIさんからのコメントです。(平成29年2月16日付け)
まったく予想だにしないアプローチで、あのめんどくさい式処理をここまで省略できることに
感激です。垂心Hの座標の方が求めやすく、重心Gと組み合わせて外心がHGを3:1に外分
する点として処理するがアイデアでした。結果が意外に面白かったので出題してみました。
次は、y=f(x)=2x 上と考えていたんですが、余りにも式が長々となりすぎたので、プログラ
ムを組んで、いろいろ遊んでいるとき、次の疑問が出ました。
y=f(x)=2x 上を動く異なる3点A、B、Cが、-10≦x≦10 なる部分での格子点を移動すると
き、△ABCの外心が整数点(x、y座標共に整数)に成り得る時は、A、B、Cはどこにいる?
DD++さんからのコメントです。(平成29年2月16日付け)
直線をこの方法で求めることは 高々二次/高々一次 に限るので、そこを迂回する必要が
ありますね。しかも、f(b)-f(a) が b-a で割り切れないので分数ラッシュ……。
A(a,2^a) と B(b,2^b) を通る直線は、
y-2^a = (2^b-2^a)(x-a)/(b-a) とも y-2^b = (2^b-2^a)(x-b)/(b-a)
とも書けるので、これらを足した 2y-2^a-2^b = (2^b-2^a)(2x-a-b)/(b-a) を採用します。
また、AB を直径とする円は、(x-a)(x-b) + (y-2^a)(y-2^b) = 0
ここで、
(x-a)(x-b) + (y-2^a)(y-2^b) - k{ (2y-2^a-2^b) - (2^b-2^a)(2x-a-b)/(b-a)
} = 0
が C(c,2^c) を通るようにすると、
(c-a)(c-b) + (2^c-2^a)(2^c-2^b) - k{ (2*2^c-2^a-2^b) - (2^b-2^a)(2c-a-b)/(b-a)
} = 0
(c-a)(c-b) + (2^c-2^a)(2^c-2^b) - k{ (b-a)(2*2^c-2^a-2^b) - (2^b-2^a)(2c-a-b)
}/(b-a) = 0
(c-a)(c-b) + (2^c-2^a)(2^c-2^b) - 2k{ (c-b)2^a + (a-c)2^b + (b-a)2^c }/(b-a)
= 0
k = (b-a) { (c-a)(c-b) + (2^c-2^a)(2^c-2^b) } / 2{ (c-b)2^a
+ (a-c)2^b + (b-a)2^c }
これを元の方程式に代入すると、x の係数は、
- a - b + 2k(2^b-2^a)/(b-a)
= - a - b + (2^b-2^a) { (c-a)(c-b) + (2^c-2^a)(2^c-2^b) } / { (c-b)2^a + (a-c)2^b + (b-a)2^c }
= -a-b-c+{(c-a)(c-b)(2^b-2^a)+(2^c-2^a)(2^c-2^b)(2^b-2^a)+c(c-b)2^a+c(a-c)2^b+c(b-a)2^c }
/{ (c-b)2^a+(a-c)2^b+(b-a)2^c}
=-a-b-c+{a(c-b)2^a+b(a-c)2^b+c(b-a)2^c-(2^c-2^b)(2^a-2^c)(2^b-2^a)}
/{ (c-b)2^a+(a-c)2^b+(b-a)2^c}
y の係数は、- 2^a - 2^b - 2k
これは x の係数で形式的に a と 2^a、b と 2^b、c と 2^c を入れ替えたものなので、計算
結果は、
-2^a-2^b-2^c-{a(2^c-2^b)2^a+b(2^a-2^c)2^b+c(2^b-2^a)2^c-(c-b)(a-c)(b-a)}
/{(c-b)2^a+(a-c)2^b+(b-a)2^c}
つまり、a(c-b)2^a + b(a-c)2^b + c(b-a)2^c - (2^c-2^b)(2^a-2^c)(2^b-2^a) と
a(2^c-2^b)2^a+b(2^a-2^c)2^b+c(2^b-2^a)2^c-(c-b)(a-c)(b-a) がどちらも
2{(c-b)2^a+(a-c)2^b+(b-a)2^c} の倍数になるような整数 0≦a<b<c≦10 を 165 パターンの
中から見つければいいわけですが、人力じゃここからはちょっと無理っぽいかな……?