Problème des tables de Poséidon

Introduction

Il s'agit du problème numéro 10 dans la version française et 13 dans la version anglaise.

Enoncé du problème

Les tables de Poséidon sont celles pour lesquelles les lignes successives sont égales à la première ligne multipliée par des nombres consécutifs. Par exemple :

1 9 2
3 8 4
5 7 6

384 est le double du nombre placé dans la première ligne, 576 est le triple de ce même nombre. Existe-t-il d'autres façons d'arranger les nombres pour obtenir le même résultat, en n'utilisant qu'une seule fois chaque chiffre et en utilisant les mêmes règles ? La seconde ligne doit être le double de la première. La troisième le triple de la première.

Solutions

L'auteur propose 3 autres solutions.
Un programme de recherche exhaustive des réponses confirme ce résultat.

Programme Python pour trouver les solutions : probleme10.py
Classe utilitaire pour itérer sur des tirages sans remise dans un ensemble : Permutations.py

Les solutions sont :

2 1 9
4 3 8
6 5 7

2 7 3
5 4 6
8 1 9

3 2 7
6 5 4
9 8 1