\documentclass[10pt,a4paper]{article}
%%% taille 10 points et format de papier A4
%%% classe article

%%% Codage en unicode
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc} 

\usepackage{multicol,multirow}%%%         multicolonnes multilignes
\usepackage[normalem]{ulem}%%%   pour texte barré \sout{}
\usepackage[french]{babel}%%%    écriture en français
\DecimalMathComma%%%             évite l'espace après la virgule en mode math
%\usepackage{multido}%%%          pour faire des boucles
\usepackage{pst-all,pst-eucl,pst-func}%%% PsTricks etc.
\usepackage{graphicx}%%%         pour graphiques et couleurs	
\usepackage{amsmath,amsfonts,amssymb}%%% outils AMS
\usepackage{mathrsfs}%%%         police script \mathscr{}
\usepackage{tabularx}%%%         tableaux
\usepackage{fancybox}%%%         divers boîtes
\usepackage{lscape}%%%           mode paysage
\usepackage[np]{numprint}%%%     pour formater les nombres de plus de 3 chiffres
\usepackage{colortbl}%%%         pour griser des cases dans un tableau
\usepackage{makeidx}%%%          pour créer un index
\makeindex%%%                    indispensable après l'appel du package makeidx
\usepackage{lettrine}%%%         pour créer des lettrines
\usepackage{eurosym}%%%          sigle euro
\usepackage{xcolor}

%\usepackage{bez123}%%%     courbes de Bézier

\usepackage{vmargin}%%%          réglage des marges
\setmarginsrb{3cm}{2cm}{3cm}{2cm}{1cm}{1cm}{1cm}{1cm}
% 1 est la marge gauche
% 2 est la marge en haut
% 3 est la marge droite
% 4 est la marge en bas
% 5 fixe la hauteur de l'entête
% 6 fixe la distance entre l'entête et le texte
% 7 fixe la hauteur du pied de page
% 8 fixe la distance entre le texte et le pied de page

\setlength{\parindent}{0pt}%%% règle l'indentation en début de paragraphe 
\setlength{\parskip}{3pt}%%% espacement entre 2 paragraphes

%%%  Commandes perso FH

%%% Pour intégrale, somme et produit, etc.
\newcommand{\ds}{\displaystyle}%%% raccourci pour \displaystyle

%%% ensembles de nombres
%%% On réservera le style "double barre" à l'écriture au tableau
\newcommand{\N}{\textbf{N}}
\newcommand{\Z}{\textbf{Z}}
\newcommand{\D}{\textbf{D}}
\newcommand{\Q}{\textbf{Q}}
\newcommand{\R}{\textbf{R}}
\newcommand{\K}{\textbf{K}}

%%% différents repères
\newcommand{\Oij}{(\text{O}\,;\,\vec{\imath}\,,\,\vec{\jmath})}
\newcommand{\rep}{(\text{O},\text{I},\text{J})}
\newcommand{\Ouv}{(\text{O}\,;\,\vec{u}\,,\,\vec{v})}
%\newcommand{\Oijk}{(\text{O}\,;\,\vec{\imath}\,,\,\vec{\jmath}\,,\,\vec{k})}

%%%  Courbe représentative
%\newcommand{\Cr}[1]{\mathscr{C}_{#1}}

%%% crochets gauche et droit
\newcommand{\cg}{\texttt{]}}
\newcommand{\cd}{\texttt{[}}

%%% crochet d'entiers
\newcommand{\cde}{\texttt{[}\!\!\texttt{[}}
\newcommand{\cge}{\texttt{]}\!\!\texttt{]}}

%%% inférieur ou égal, supérieur ou égal
\newcommand{\pg}{\geqslant}
\newcommand{\pp}{\leqslant}

\usepackage{fancyhdr}%%%       En-têtes et pieds de pages
\pagestyle{fancy}
\renewcommand\headrulewidth{1pt}%%% filet haut de page
\renewcommand\footrulewidth{0pt}%%% filet bas de page
\renewcommand{\headwidth}{\textwidth}
%%% head pour haut de page
%%% L C et R pour Left Center et Right
\fancyhead[L]{\url{http://latexetmath.canalblog.com}}
\fancyhead[R]{\today} %%% \today = date du jour
\fancyhead[C]{}
%%% foot pour pied de page
\fancyfoot[C]{\begin{small}-- \thepage\  --\end{small}}  
\fancyfoot[R]{}%%%     {\jobname}%%% nom du fichier tex
\fancyfoot[L]{\href{mailto:francois.hache@free.fr}{FH}}

%%% Pour les énumérations
%%% premier niveau 
\renewcommand{\theenumi}{\textbf{\arabic{enumi}}}
\renewcommand{\labelenumi}{\textbf{\theenumi.}}
%%% deuxième niveau
\renewcommand{\theenumii}{\textbf{\alph{enumii}}}
\renewcommand{\labelenumii}{\textbf{\theenumii.}}
%%% troisième niveau
\renewcommand{\theenumiii}{\textbf{\arabic{enumiii}}}
\renewcommand{\labelenumiii}{\textbf{\theenumiii)}}
%%% permet d'avoir a. au lieu de (a) dans une énumération de niveau 2
%%% voir : http://cahiers.gutenberg.eu.org/cg-bin/article/CG_1994___17_32_0.pdf

\newenvironment{changemargin}[2]
{\begin{list}{}{%
\setlength{\topsep}{0pt}%
\setlength{\leftmargin}{0pt}%
\setlength{\rightmargin}{0pt}%
\setlength{\listparindent}{\parindent}%
\setlength{\itemindent}{\parindent}%
\setlength{\parsep}{0pt plus 1pt}%
\addtolength{\leftmargin}{#1}%
\addtolength{\rightmargin}{#2}%
}\item }{\end{list}}
%%%% pour changer les marges gauche et droite sur un paragraphe
%%%% \begin{changemargin}{marge gauche}{marge droite}
%%%% ...
%%%% \end{changemargin}

\usepackage{hyperref}%%% pour les références

%%% paramètres des pdf
\hypersetup{
pdfauthor = {F. Hache},
pdftitle = {Fonctions},
pdfstartview = FitH,
pdfcreator = {LaTeX vers PDF}
allbordercolors = white,
colorlinks=true,
linkcolor=red,
urlcolor=red,
unicode=true}

%%% Autres commandes qui doivent être définies après hyperref
\newcommand{\e}{\,\text{e\,}}%%%               le e de l'exponentielle
\renewcommand{\d}{\,\text d}%%%              le d de l'intégration
\renewcommand{\i}{\,\text{i}\,}%%%           le i des complexes
\renewcommand{\v}[1]{\,\overrightarrow{\,\text{#1}\,}}%%% vecteur
\renewcommand{\C}{\textbf{C}}

%%% définitions de nouvelles couleurs
\newrgbcolor{rb}{0.804 0 0}
\newrgbcolor{vb}{0 0.545 0}

%\usepackage{listings}

\begin{document}

\part*{\centering \rb Cube magique}

Depuis quelques jours, je suis plongé dans la vivifiante lecture du \og Dictionnaire amoureux des mathématiques \fg{} d'\textsc{André Deledicq} et \textsc{Mickaël Launay} (chez Plon).

À la lettre \og C \fg{} on y trouve les \og Carrés magiques \fg{}  bien connus et l'énigme que j'appelle le \og Cube magique \fg.

\section{L'énigme}

Dans le cube représenté ci-dessous, il s'agit de remplacer chaque lettre de $a$ à $h$ par un nombre de 1 à 8 de façon que les sommes des 4 sommets de chaque face soient toutes égales.

\begin{center}
\psset{unit=0.8cm,radius=10pt}
\begin{pspicture}(0,0.5)(8,7)
%%%%%%%%%%%%%%%%
\Cnodeput(1,1){A}{$a$}  \Cnodeput(3,2){B}{$b$} 
\Cnodeput(7,2){C}{$c$}  \Cnodeput(5,1){D}{$d$} 
\Cnodeput(1,5){E}{$e$}  \Cnodeput(3,6){F}{$f$} 
\Cnodeput(7,6){G}{$g$}  \Cnodeput(5,5){H}{$h$} 
%%%%%%%%%%%%%%%%
\ncline{A}{B} \ncline{B}{C} \ncline{C}{D} \ncline{D}{A}
\ncline{E}{F} \ncline{F}{G} \ncline{G}{H} \ncline{H}{E}
\ncline{A}{E} \ncline{B}{F} \ncline{C}{G} \ncline{D}{H}
\end{pspicture} 
\end{center}

Naturellement, deux lettres différentes doivent correspondre  à deux nombres différents.

\section{Un peu de \LaTeX}

Voici le code de ce cube:

%\smallskip

\begin{changemargin}{2cm}{0cm}
\begin{verbatim}
\psset{unit=0.8cm,radius=10pt}
\begin{pspicture}(0,0)(8,7)
%%%%%%%%%%%%%%%% sommets
\Cnodeput(1,1){A}{$a$}  \Cnodeput(3,2){B}{$b$} 
\Cnodeput(7,2){C}{$c$}  \Cnodeput(5,1){D}{$d$} 
\Cnodeput(1,5){E}{$e$}  \Cnodeput(3,6){F}{$f$} 
\Cnodeput(7,6){G}{$g$}  \Cnodeput(5,5){H}{$h$} 
%%%%%%%%%%%%%%%% arêtes
\ncline{A}{B} \ncline{B}{C} \ncline{C}{D} \ncline{D}{A}
\ncline{E}{F} \ncline{F}{G} \ncline{G}{H} \ncline{H}{E}
\ncline{A}{E} \ncline{B}{F} \ncline{C}{G} \ncline{D}{H}
\end{pspicture} 
\end{verbatim}
\end{changemargin}

Les sommets de ce cube ont été créés avec \texttt{Cnodeput} qui permet de dessiner un cercle et d'écrire directement à l'intérieur; ainsi l'instruction \verb!\Cnodeput(1,1){A}{a}! définit un cercle de centre le point de coordonnées $(1,1)$ appelé A, et place la lettre \texttt{a} en son centre. Le rayon du cercle est défini par \texttt{radius=10pt} que l'on trouve dans \verb!\psset!.

Les sommets (les n\oe uds) sont reliés entre eux par \verb!\ncline{}{}!; contrairement à \verb!\psline! ou \verb!\pspolygon!, on ne peut relier que deux n\oe uds entre eux. Mais on ne peut pas utiliser ces deux dernières instructions ici: essayez donc pour voir de remplacer \verb!\ncline{A}{B}! (A et B entre accolades) par \verb!\psline(A)(B)! (A et B entre parenthèses). Très moche!

Si on utilise \verb!\cnodeput! (avec un c minuscule) à la place de \verb!\Cnodeput! (C majuscule), on ne contrôle plus le rayon de chaque cercle qui s'adapte automatiquement à son contenu:
vous verrez plus loin pourquoi il vaut mieux utiliser \verb!\Cnodeput!.

\bigskip

\newcommand{\cube}[8]
{%%% début
\psset{unit=0.8cm,radius=10pt}
\begin{pspicture}(0,0)(8,7)
%%%%%%%%%%%%%%%% sommets
\Cnodeput(1,1){A}{$#1$}  \Cnodeput(3,2){B}{$#2$} 
\Cnodeput(7,2){C}{$#3$}  \Cnodeput(5,1){D}{$#4$} 
\Cnodeput(1,5){E}{$#5$}  \Cnodeput(3,6){F}{$#6$} 
\Cnodeput(7,6){G}{$#7$}  \Cnodeput(5,5){H}{$#8$} 
%%%%%%%%%%%%%%%% arêtes
\ncline{A}{B} \ncline{B}{C} \ncline{C}{D} \ncline{D}{A}
\ncline{E}{F} \ncline{F}{G} \ncline{G}{H} \ncline{H}{E}
\ncline{A}{E} \ncline{B}{F} \ncline{C}{G} \ncline{D}{H}
\end{pspicture} 
}%%% fin

Comme dans cette chronique on va dessiner plusieurs cubes, il serait intéressant de créer une commande qui va faciliter le travail; on définit donc la commande \verb!\cube! avec 8 paramètres correspondant aux sommets du cube. Voici le code:

\begin{changemargin}{2cm}{0cm}
\begin{verbatim}
\newcommand{\cube}[8]
{%%% début
\psset{unit=0.8cm,radius=10pt}
\begin{pspicture}(0,0)(8,7)
%%%%%%%%%%%%%%%% sommets
\Cnodeput(1,1){A}{$#1$}  \Cnodeput(3,2){B}{$#2$} 
\Cnodeput(7,2){C}{$#3$}  \Cnodeput(5,1){D}{$#4$} 
\Cnodeput(1,5){E}{$#5$}  \Cnodeput(3,6){F}{$#6$} 
\Cnodeput(7,6){G}{$#7$}  \Cnodeput(5,5){H}{$#8$} 
%%%%%%%%%%%%%%%% arêtes
\ncline{A}{B} \ncline{B}{C} \ncline{C}{D} \ncline{D}{A}
\ncline{E}{F} \ncline{F}{G} \ncline{G}{H} \ncline{H}{E}
\ncline{A}{E} \ncline{B}{F} \ncline{C}{G} \ncline{D}{H}
\end{pspicture} 
}%%% fin
\end{verbatim}
\end{changemargin}

Ainsi avec \verb!\cube{a}{b}{c}{d}{e}{f}{g}{h} \hfill \cube{}{}{}{}{}{}{}{}!, on obtient:

\cube{a}{b}{c}{d}{e}{f}{g}{h} \hfill\cube{}{}{}{}{}{}{}{}

C'est en tapant \verb!\cube{}{}{}{}{}{}{}{}! que l'on se rend compte qu'il vaut mieux utiliser \verb!\Cnodeput! que \verb!\cnodeput!.


\smallskip

À ce stade, vous pouvez chercher vous-même les solutions\dots{} ou lire la suite!


\section{La méthode de résolution}

\subsection*{Première remarque}

En calculant $1+2+3+4+5+6+7+8$, on trouve $36$ donc 
$a+b+c+d+e+f+g+h=36$. Mais comme les sommes des 4 sommets de chaque face doivent être égales, on aura, par exemple: $a+b+c+d=e+f+g+h$. On en déduit que $a+b+c+d=e+f+g+h=18$ et que donc les sommes des 4 sommets de chaque face sont toutes égales à 18.

On a donc 6 équations correspondant aux 6 faces du cube: 
$\left \lbrace
\begin{array}{l !{=} l}
a+b+c+d & 18\\
e+f+g+h & 18\\
a+b+e+f & 18\\
c+d+g+h & 18\\
a+d+e+h & 18\\
 b+c+f+g & 18
\end{array}
\right .$

\medskip

Ce système de 6 équations à 8 inconnues a une infinité de solutions. En plus il faut rajouter comme contraintes que toutes les lettres ont des valeurs différentes et comprises entre 1 et 8.

Il faut donc être un peu plus astucieux!

\subsection*{Deuxième remarque}

Les sommets sont tous identiques et aucun ne joue une rôle particulier; on peut donc choisir de prendre $a=1$:

\begin{center}
\cube{\red \bf 1}{b}{c}{d}{e}{f}{g}{h}
\end{center}

Une inconnue de moins!

\subsection*{Troisième remarque}

Après avoir placé le nombre 1, essayons de placer le nombre 2.

Peut-il être sur une même arête que le nombre 1, c'est-à-dire à la place de $b$, $d$ ou $e$? Voyons un cas possible avec 2 en $d$:

\begin{center}
\cube{\red \bf 1}{b}{c}{\rb \bf 2}{e}{f}{g}{h}
\end{center}

Comme la somme des sommets de chaque face vaut 18, on aura d'une part $a+b+c+d=18$ donc $b+c=15$, et d'autre part $a+d+e+h=18$ donc $e+h=15$. Mais pour avoir un total de 15 avec des nombres entiers entre 1 et 8, il faut prendre $7+8$ ou $8+7$; donc $b$ et $c$ valent 7 et 8, ou 8 et 7; il est donc impossible que $e+h$ soit égal à 15 puisque 7 et 8 sont déjà pris par $b$ et $c$.

Autrement dit, les nombres 1 et 2 ne peuvent pas être aux extrémités d'une même arête.

S'ils sont sur une même face, ils seront sur la diagonale du carré (par exemple en $a$ et $h$), sinon ils ne seront pas sur une même face donc ils seront sur la diagonale du cube (en $a$ et $g$):

\cube{\rb \bf 1}{b}{c}{d}{e}{f}{g}{\rb \bf 2}
\hfill
\cube{\rb \bf 1}{b}{c}{d}{e}{f}{\rb \bf 2}{h}

\hspace*{2cm} cas \no 1 \hfill  cas \no 2 \hspace*{2cm}

\section{Première série de solutions -- cas \no 1}

On cherche les solutions quand les nombres 1 et 2 sont sur une même face (celle de devant). Il reste alors un total de 15 pour l'autre diagonale, que l'on obtient avec 7 et 8; on prendra ici $d=8$ et $e=7$ (mais on peut choisir $e=8$ et $d=7$): 

\begin{center}
\cube{\rb \bf 1}{b}{c}{\rb \bf 8}{\rb \bf 7}{f}{g}{\rb \bf 2}
\end{center}

On a donc en regardant les 5 faces non complètes du cube:
$\left \lbrace
\begin{array}{l !{=} r}
b+c & 9\\
b+f & 10\\
f+g & 9\\
c+g & 8\\
 b+c+f+g & 18
\end{array}
\right .$
équivalent au système:
$\left \lbrace
\begin{array}{l !{=} r}
b+c & 9\\
b+f & 10\\
f+g & 9
\end{array}
\right .$
c'est-à-dire:
$\left \lbrace
\begin{array}{l !{=} r}
c & 9-b\\
f & 10-b\\
g & 9-f
\end{array}
\right .$
ou encore:
$\left \lbrace
\begin{array}{l !{=} r}
c & 9-b\\
f & 10-b\\
g & b-1
\end{array}
\right .$

\newpage 

On n'oublie qu'il faut prendre $b$, $c$, $f$ et $g$ dans $\{3,4,5,6\}$.

\begin{list}{\textbullet}{On teste pour les valeurs de $b$ entre 3 et 6.}
\item Si $b=3$, on a $g=b-1=2$; impossible.
\item Si $b=4$, on a $c=9-b=5$, $f=10-b=6$ et $g=b-1=3$; cela donne une solution.
\item Si $b=5$, on a $c=9-b=4$ et $g=b-1=4$; impossible.
\item Si $b=6$, on a $c=9-b=3$, $f=10-b=4$ et $g=b-1=5$; cela donne une solution.
\end{list}

Dans le cas \no 1 on n'a que deux solutions possibles (aux symétries près):

\cube{\rb \bf 1}{4}{5}{\rb \bf 8}{\rb \bf 7}{6}{3}{\rb \bf 2}
\hfill
\cube{\rb \bf 1}{6}{3}{\rb \bf 8}{\rb \bf 7}{4}{5}{\rb \bf 2}

\section{Seconde série de solutions -- cas \no 2}

On examine maintenant le second cas dans lequel les nombres 1 et 2 sont sur la grande diagonale du cube.

\subsection*{Placement du 8}

Essayons de placer le nombre 8 sur une arête contenant le nombre 2, par exemple à la place de $h$:

\begin{center}
\cube{\rb \bf 1}{b}{c}{d}{e}{f}{\rb \bf 2}{\rb \bf 8}
\end{center}

En disant que la somme des nombres placés sur les sommets de la face de droite doit être égale à 18, on arrive à $c+d=8$;  et en disant que la somme des nombres placés sur les sommets de la face du bas doit être égale à 18, on arrive à $b+c+d=17$ donc $b=9$, ce qui est impossible.

On ne peut donc pas avoir 8 à la place de $h$ et, en faisant le même raisonnement, ni à la place de $c$ ni à celle de $f$. On peut donc mettre 8 à la place de $b$, $d$ ou $e$, ce qui donne pour 8 en $e$:

\begin{center}
\cube{\rb \bf 1}{b}{c}{d}{\rb \bf 8}{f}{\rb \bf 2}{h}
\end{center}

\subsection*{Placement du 7}

Essayons maintenant de placer le nombre 7:

\begin{list}{\textbullet}{}
\item Si on met 7 à la place de $d$, on aura $h=2$ (face de devant)  ce qui est impossible.
\item Si on met 7 à la place de $h$, on aura $d=2$ (face de devant)  ce qui est impossible.
\item Si on met 7 à la place de $b$, on aura $f=2$ (face de gauche)  ce qui est impossible.
\item Si on met 7 à la place de $f$, on aura $b=2$ (face de gauche)  ce qui est impossible.
\end{list}

Donc le nombre 7 doit être à la place de $c$:

\begin{center}
\cube{\rb \bf 1}{b}{\rb \bf 7}{d}{\rb \bf 8}{f}{\rb \bf 2}{h}
\end{center}

\subsection*{Fin de la résolution}

On a donc:
$\left \lbrace
\begin{array}{l !{=} r}
d+h & 9\\
b+f & 9\\
f+h & 8\\
b+d & 10
\end{array}
\right .$
qui équivaut à:
$\left \lbrace
\begin{array}{l !{=} r}
d& 10-b\\
f & 9-b\\
h & b-1
\end{array}
\right .$

\begin{list}{\textbullet}{On teste pour les valeurs de $b$ entre 3 et 6.}
\item Si $b=3$, on a $h=b-1=2$; impossible.
\item Si $b=4$, on a $d=10-b=6$, $f=9-b=5$ et $h=b-1=3$; cela donne une solution.
\item Si $b=5$, on a $d=10-b=5$; impossible.
\item Si $b=46$, on a $d=10-b=4$, $f=9-b=3$ et $h=b-1=5$; cela donne une solution.
\end{list}

On a donc trouvé deux solutions:

\cube{\rb \bf 1}{6}{\rb  \bf  7}{4}{\rb \bf 8}{3}{\rb \bf 2}{5}
\hfill
\cube{\rb \bf 1}{4}{\rb \bf 7}{6}{\rb \bf 8}{5}{\rb \bf 2}{3}

On peut constater que ces deux solutions sont symétriques par rapport au plan (ACE).

\section{Une autre énigme}

\newcommand{\troiscer}[6]
{
\def\rayon{10pt}
\psset{unit=0.6cm,radius=\rayon}
\begin{pspicture}(-5,-4.5)(5,5)
%\psgrid[gridcolor=gray]
%%%%%%%%%%%%%%%%
\pscircle[linecolor=blue](2;90){3} 
\pscircle[linecolor=vb](2;-30){3} 
\pscircle[linecolor=rb](2;210){3} 
%%%%%%%%%%%%%%%%
\Cnodeput*(-3,1.7){A}{$#1$}  \pscircle(A){\rayon}
\Cnodeput*(0,1.4){B}{$#2$} \pscircle(B){\rayon}
\Cnodeput*(3,1.7){C}{$#3$}  \pscircle(C){\rayon}
\Cnodeput*(-1.2,-0.65){D}{$#4$} \pscircle(D){\rayon} 
\Cnodeput*(1.2,-0.65){E}{$#5$} \pscircle(E){\rayon} 
\Cnodeput*(0,-3.4){F}{$#6$} \pscircle(F){\rayon}
\end{pspicture} 
}

On termine par une petite énigme (plus facile!) trouvée dans le  livre cité au début de cette chronique.

Placer dans la figure ci-dessous les nombres 1, 2, 3, 4, 5 et 6 de façon que les sommes des quatre nombres situés sur un même cercle soient toutes égales.

\bigskip

\begin{center}
\troiscer{}{}{}{}{}{}
\end{center}

\end{document}
