14458 Reputation

24 Badges

11 years, 270 days

MaplePrimes Activity

These are answers submitted by Kitonum

We have 64 points  with coordinates (x_i, y_j), where  x_i=1..8, y_j=1..8 . The right answer is 16 points (2 points in each row and each column):

4  4  8  8  2  2  6  6

3  3  7  7  1  1  5  5

For brevity,  only the second coordinates are specified. The first column contains  the points for which the first coordinates equal to 1 and so on.

Obviously, if the number of points is greater than 16, at least three points lie in one line.

 This problem was discussed at the Russian site

I think the solving this problem in Maple is not easy - it takes too long time.



k:=2: M:=10*exp(-t/5)+3*(1-exp(-t/5)):

dsolve({diff(y(t),t)=k*(1-y(t)/M)*y(t), y(0)=1});


Limit('y(t)', t=infinity)=limit(y(t), t=infinity);

plot(y(t), t=0..20, thickness=2);

Change this line


to the next



x:=m/n: y:=p/q:

solve((1 + 1/x)*(1 + 1/y)*(1 + 1/z)=2, z);


Of course, should be   m*p-m*q-n*p-n*q<>0 



In the last three lines add  simplify  command. You get the angles in radians. Translate to degrees can yourself or by  convert  command.

None computer search in a limited range ensures the final solution, since the  question  remains  open whether any solutions  outside of this range. Therefore it is necessary to prove that there are no solutions outside the range of search.

1) First, we note that if  [x, y, z]  is a list of integer solutions, then any of its permutations is also a solution. We shall therefore consider only integer solutions, that the inequalities x <= y <= z hold true.

2) First we look for solutions, where at least one of the numbers is negative. It is easy to prove that may be only x<0 and at the same time should be y>0 and z>0.

   So, let x<0. Consider the possibilities:

   a) y=1 . We obtain  (1+1/x)*(1+1/z)=1  and  z=-x-1 . Thus, for any  x<=-2,  [x, 1, -x-1]  is a solution.

   b) y=2 .   We obtain  (1+x)*(1+z)=4*x*z/3  and  for negative  x  we have 1 solution  [-9, 2, 2] .

   c) If y>2, it is easy to show that there is no integer solutions for negative x .

3) So, let x>0, y>0, z>0 . We prove that no integer solutions such that  z>20 .

The original equation is reduced to  1/(x*y*z)+1/(x*y)+1/(x*z)+1/(y*z)+1/x+1/y+1/z=1 . Suppose the contrary z> 20 and obtain a contradiction.

Should be x>=2 and y>=2 . Therefore,  1/(x*y*z)+1/(x*z)+1/(y*z)+1/z<=1/80+1/40+1/40+1/20=9/80<1/8 . Therefore,  should be  1/(x*y)+1/x+1/y>=7/8 .

   Consider the possibilities:

   a)  x=2,  y=2 . Then we obtain z=-9. Contradiction.

   b)  x=2,  y=3 - no solutions.

   c)  x=2,  y=4 . Then we obtain z=15. Contradiction.

   d)  x=2,  y>4 . Contradiction with condition  1/(x*y)+1/x+1/y>=7/8 .

   e) x>=3, y>=3 . Contradiction with condition  1/(x*y)+1/x+1/y>=7/8 .

Thus to find all positive integer solutions adequate search in the range from 2 to 20.


for x from 2 to 20 do

for y from x to 20 do

for z from y to 20 do

if (1+1/x)*(1+1/y)*(1+1/z)=2 then L:=[op(L), [x, y, z]]: fi:

od: od: od:


           [[2, 4, 15], [2, 5, 9], [2, 6, 7], [3, 3, 8], [3, 4, 5]]


Final result:

   If inequalities x <= y <= z hold true then

   1) If x<0  then     [-9, 2, 2]  or  [x, 1, -x-1]  where x<=-2

   2) If x>0  then     [2, 4, 15]  or  [2, 5, 9]  or  [2, 6, 7]  or  [3, 3, 8]  or  [3, 4, 5]

       No other integer solutions. 






solve([eq1=convert(cos(15*Pi/180), radical), eq2=cos(30*Pi/180), eq3=cos(135*Pi/180)], [c,b]);

We look for real solutions. Since the number of unknowns is greater than the number of equations, we set  z =t , where  is any real number. Solving the resulting system, we get an infinite number of complex solutions, depending on  t , some of which may be real. Equating to  0  the imaginary parts, we find  the desired  t .



Sol:=allvalues(solve({x^2+y^2+z^2=3, x+y+z=3}, {x, y}));


solve(Im(x)=0, t), solve(Im(y)=0, t) assuming t::real;

subs(t=1, [x, y, z]);  # Finding real solutions for the first set of the roots

x:='x': y:='y':


solve(Im(x)=0, t), solve(Im(y)=0, t) assuming t::real;

subs(t=1, [x, y, z]);  # Finding real solutions for the second set of the roots

In the third line you should replace  v  by  w .

To find the coordinates of a vector  v  in the new basis you need to do two steps:

1) Specify the matrix  A  whose columns are  the coordinates of the basis vectors.

2) Solve the matrix equation  A.X=v where  entries of vector  X  are desired coordinates.


The code:

v:= <1,5>; 

A:= <<1,1>|<2,3>>;

X:=LinearAlgebra[LinearSolve](A, v);


If parameterization is unknown, and only implicit equation is known, then get the parametric equations as follows:

solve((x^2+y^2)^2=x^2-y^2, {x(s), y(s)});

{x = (1-s^2)^(1/2)/(1+s^2), y = s*(1-s^2)^(1/2)/(1+s^2)}, {x = -(1-s^2)^(1/2)/(1+s^2), y = -s*(1-s^2)^(1/2)/(1+s^2)}


To get your parameterization you can make а substitution:

subs(s=sin(t), [%]);

[{x = (1-sin(t)^2)^(1/2)/(1+sin(t)^2), y = sin(t)*(1-sin(t)^2)^(1/2)/(1+sin(t)^2)}, {x = -(1-sin(t)^2)^(1/2)/(1+sin(t)^2), y = -sin(t)*(1-sin(t)^2)^(1/2)/(1+sin(t)^2)}]

u:=unapply(sum((10^k-1)*7/9, k=1..n), n);

   u := n -> -7/9*n-70/81+7/81*10^(n+1)

First, we isolate the N and then find it by bisection of the interval.


f:=N->sum(1/n, n=1..N):

for k from 0 do

if evalf(f(2^k))>20.12 and  evalf(f(2^(k-1)))<20.12 then break: fi:


a:=2^(k-1): b:=2^k: 

print([a, b]);    # isolation interval

while b-a>=1 do


if (evalf(f(a))-20.12)*(evalf(f(c))-20.12)<=0 then b:=c else a:=c fi:


if evalf[20](f(ceil(b)-1))<=20.12 then print(N=ceil(b)) else

print(N=ceil(b)-1); fi;

                                    [268435456, 536870912] 

                                             N = 307130819

Apparently all the real roots of the equation are in the range  x=-3..3 .

Look at this:

plot([3*sin(x^2), x], x=-3.5..3.5);

These roots can be found by  RootFinding[Analytic]  command.

Instead of nested loops, you can use the composition operator:

S:={1, 2, 3}: l:=5:

f:=T->[seq(seq([op(T[j]), S[i]],i=1..nops(S)), j=1..nops(T))]:

L:=(f @@ l)([[]]);

You get a list of lists . But any list could easily be converted into a vector, for a example:

convert(L[100], Vector);



First 210 211 212 213 214 215 216 Last Page 212 of 227