The problem is solved with the help of Maple (You can find the worksheet here ).

> restart;

THE SYSTEM OF EQUATIONS IS:
dN/dt = -a*C*N/(b+C) + k*N

dC/dt = -alpha*C*N/(b+C)+C0*F/V-uC/V 
Nt:= -a*C*N/(b+C)+k*N;
Ct:=-alpha*(a*C*N/(b+C))+C0*F/V-u*C/V;

Nt := -a*C*N/(b+C)+k*N

Ct := -alpha*a*C*N/(b+C)+C0*F/V-u*C/V

We next try to diminish the number of parameters (which may be thought of as “non dimensionalizing”).
Let us write C instead of C*, N instead of N*, t instead of t*, and Un, Uc, Ut instead of the “hats” (the “u” stands for “units of”, if we think in terms of units).

> C:=c*Uc; N:=n*Un;T:=t*Ut;

C := c*Uc

N := n*Un

T := t*Ut

Let us see now what this gives in our equations, by plugging-in everywhere, right and left.

Nt:=expand(Ut/Un*Nt);
Ct:=expand(Ut/Uc*Ct);

Nt := -Ut*a*c*Uc*n/(b+c*Uc)+Ut*k*n

Ct := -Ut*alpha*a*c*n*Un/(b+c*Uc)+Ut/Uc*C0*F/V-Ut*u...

Let us try (looking at the first equation), Uc=b and Ut=1/k:


Simp1:={Ut=1/k,Uc=b};
Nt:=expand((subs(Simp1,Nt)));
Ct:=expand((subs(Simp1,Ct)));

Simp1 := {Ut = 1/k, Uc = b}

Nt := -1/k*a*c*b*n/(b+c*b)+n

Ct := -1/k*alpha*a*c*n*Un/(b+c*b)+1/k/b*C0*F/V-1/k*...

Looking at the first equation, apart of the b that should simplify, there is a first constant that I cannot get rid of, a/k. Let us name it beta= a/k (alpha is already taken).
Looking at the second equation, there seems to be two constants, C0*F/(k*b*V) and u/(k*V) that I cannot simplify.

They will be gamma and delta.

Finally, let us pick Un = k*b/(alpha*a).


Simp2:={a=beta*k};
Simp3:={Un=b*k/(alpha*a),C0=Gamma*k*b*V/F,u=Delta*k*V};
Nt:=subs(Simp2,Nt);
Ct:=subs(Simp3,Ct);

Simp2 := {a = beta*k}

Simp3 := {Un = b*k/alpha/a, C0 = Gamma*k*b*V/F, u =...

Nt := -beta*c*b*n/(b+c*b)+n

Ct := -c*n*b/(b+c*b)+Gamma-Delta*c

The "b" should disappear..(that what we use the command collect for, so that Maple realizes that it forgot something):


Nt:=collect(Nt,[b]);
Ct:=collect(Ct,[b]);

Nt := -beta*c*n/(1+c)+n

Ct := -c*n/(1+c)+Gamma-Delta*c

Let us know solve this equation to find the steady states
Steady:=solve({Nt,Ct},{n,c});

Steady := {n = 0, c = Gamma/Delta}, {n = beta*(Gamm...

Set the values of these solutions to Sol1 and Sol2
Sol1:=Steady[1];
Sol2:=Steady[2];

Sol1 := {n = 0, c = Gamma/Delta}

Sol2 := {n = beta*(Gamma*beta-Gamma-Delta)/(beta-1)...

The first solution is nice: the cancer cells (n) is killed. It would be great if is was a stable solution
We must as well see when the second solution is of interest, i.e. when it is in the first quadrant

Let us do the inverse susbtitution
Usimp:={beta=a/k,Gamma=C0*F/(k*b*V),Delta=u/(k*V)};
S2:=subs(Usimp,Sol2);

Usimp := {beta = a/k, Gamma = 1/k/b*C0*F/V, Delta =...

S2 := {n = a/k*(1/k^2/b*C0*F/V*a-1/k/b*C0*F/V-u/k/V...

beta is a measure of the drug effectiveness (kill/reprod)
gamma is a measure of the inflow concentration of drug (CoF/V)
with respect to the cancer cell reproduction (k b)
delta is a measure of the outflow with respect to cancer reproduction (k)

So for the concentration c to be positive (a negative concentration would make no sense), we need a>k,
i.e. the kill rate to be greater than the reproductive rate
Let us look now at what it implies for the second solution

> solve(subs(S2,n),u);

1/k/b*C0*F*(a-k)

That is, we need u to be smaller than this quantity for this equilibrium to be in the first quadrant.

> with(linalg):

Warning, the protected names norm and trace have been redefined and unprotected

Let us now study the stability of these solutions: we compute the jacobian
Jac:=jacobian([Nt,Ct],[n,c]);

Jac := matrix([[-beta*c/(1+c)+1, -beta*n/(1+c)+beta...

The jacobian at the first steady point (Sol1) is J1
J1:=matrix(2,2):
for i from 1 to 2 do
for j from 1 to 2 do
J1[i,j]:=subs(Sol1,Jac[i,j])
od od;
print(J1);

matrix([[-beta*Gamma/Delta/(1+Gamma/Delta)+1, 0], [...

It is a diagonal matrix: we only need for the trace and determinant to be positve (or the two eigenvalues) that
the top left term be negative.
that is

Cond1:=k1-1>0;
Cond2:=simplify(J1[1,1]<0);

Cond1 := 0 < k1-1

Cond2 := -beta*Gamma/(Delta+Gamma) < -1

> simplify(subs(Usimp,Cond1));

0 < k1-1

i.e. we need the drug to be very effective (beta >>1) or the inflow drug concentration (gamma)
to be a lot bigger than the outflow quantity (delta), delta/gamma<<1.
By the way, what would it mean if the N2<0

> collect(subs(Sol2,n),gamma);
I.e. delta>gamma(beta-1). But then
beta*gamma/(delta+gamma) < 1 ! ) is not stable, blow up.

beta*(Gamma*beta-Gamma-Delta)/(beta-1)

The jacobian at the 2nd steady point (Sol2) is J2
J2:=matrix(2,2):
for i from 1 to 2 do
for j from 1 to 2 do
J2[i,j]:=simplify(subs(Sol2,Jac[i,j]))
od od;
print(J2);

matrix([[0, -(Gamma*beta-Gamma-Delta)*(beta-1)], [-...

> D2:=factor(det(J2));T2:=simplify(trace(J2)); Sol2;

We cannot have a the same time n>0 , c>0 and det>0 So yes it is unstable (good news: otherwise we would be in trouble)

D2 := -(Gamma*beta-Gamma-Delta)*(beta-1)/beta

T2 := -(Gamma*beta^2-2*Gamma*beta+Gamma+Delta)/beta...

{n = beta*(Gamma*beta-Gamma-Delta)/(beta-1), c = 1/...

> beta:=2;Gamma:=3;Delta:=1;

beta := 2

Gamma := 3

Delta := 1

>
Steady[1];Steady[2];Cond1:=k1-1>0;
Cond2:=simplify(J1[1,1]<0);

{c = 3, n = 0}

{n = 4, c = 1}

Cond1 := 0 < k1-1

Cond2 := -1/2 < 0

> with(DEtools):
Title:=cat("Condition 1 TRUE and Condition 2 TRUE");
dfieldplot([diff(n(t),t)=-beta*c(t)*n(t)/(1+c(t))+n(t), diff(c(t),t)=-c(t)*n(t)/(1+c(t))+Gamma-Delta*c(t)],
[n(t),c(t)],t=0..10, n=0..5, c=0..4, title = Title);

[Maple Plot]