・計算訓練                            GAI 氏

 関数 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 パターンの
中から見つければいいわけですが、人力じゃここからはちょっと無理っぽいかな……?



                         投稿一覧に戻る