A strong hint, but not a complete solution
Let
$$
\newcommand{\bu} {{\mathbf u}}
\newcommand{\bv} {{\mathbf v}}
\begin{align}
s &= \|B - C\|\\
\bu &= \frac{B - C}{s}
\end{align}
$$
The point $P$ is then $C + t\bu$ for some $t \in \Bbb R$, and I'll follow the picture and consider the case $t < s$ so that we find $P$ instead of $P'$. We'll work out some constraints on $t$.
The first constraint is that the distance from $P$ to $B$ (namely $s - t$), which is the radius of the circle around $P$, must, when added to $r$, the radius of the blue circle, give the distance from $P$ to $A$. Thus:
$$
(s - t) + r = \| A - (C + t \bu) \|.
$$
Squaring both sides, and letting $\bv = A - C$ and $e = \|A - C \| = \|\bv\|$, we get
\begin{align}
(s - t)^2 + 2r(s-t) + r^2 &= \| (A - C) - t \bu) \|^2\\
(s - t)^2 + 2r(s-t) + r^2 &= [ (A - C) - t \bu) ] \cdot [ (A - C) - t \bu) ] \\
s^2 - 2st + t^2 + 2rs-2rt + r^2 &= (A - C)\cdot(A-C) - 2t \bu \cdot (A - C) + t^2 \bu \cdot bu \\
s^2 - 2st + t^2 + 2rs-2rt + r^2 &= (A - C)\cdot(A-C) - 2t \bu \cdot (A - C) + t^2 & \text{, because $\bu$ is a unit vector}\\
s^2 - 2st + t^2 + 2rs-2rt + r^2 &= e^2 - 2t \bu \cdot \bv + t^2 & \text{, defn's of $\bv$ and $e$}\\
s^2 - 2st + 2rs-2rt + r^2 &= e^2 - 2t \bu \cdot \bv & \text{algebra}\\
2t \bu \cdot \bv - 2st -2rt &= e^2 -s^2 -2rs - r^2& \text{algebra}\\
t( -2 \bu \cdot \bv + 2s + 2r) &= (s+r)^2 - e^2& \text{algebra}\\
t &= \frac{(s+r)^2 - e^2}{-2 \bu \cdot \bv + 2s + 2r }& \text{algebra}\\
\end{align}
...so that gives you the point $P$ (you just compute $P + t\bu$). Now you have to do the same thing, but starting with $(t - s) + r = ...$ to find the point on the other side of $B$.
Here is (not pretty) Matlab code to implement this, and a plot of the result of
circles([0 3], [1, 1], [-3, 0], 1)
being run in the Command window.
function circles(a, b, c, r)
clf;
a = a(:); b = b(:); c = c(:);
vv = b - c;
s = sqrt(dot(vv, vv));
u = (b-c)/s;
v = a - c;
e = sqrt(dot(v, v));
numerator = (s+r)^2 - e^2;
denominator = -2 * dot (u, v)+ 2*s + 2*r;
t = numerator/denominator;
P = c + t*u
% draw line from C to B
point(c);
point(b);
plot([c(1) b(1)], [c(2) b(2)], 'k');
circle(a, r);
circle(P, (s-t));
axis equal
figure(gcf);
function point(pt)
hold on;
plot(pt(1), pt(2), 'ro');
hold off;
function circle(ctr, radius)
t = linspace(0, 2*pi, 100);
x = ctr(1) + radius * cos(t);
y = ctr(2) + radius * sin(t);
hold on;
plot(x, y);
point(ctr);
hold off;

The blue circle is the one around point $A$; the red-orange circle is the computed on. The black line segment goes from $C$ to $B$.
Of course, you still have to work through the case where $t > s$ to find the coordinates of the center $P'$ and the radius of the second circle.