Con fiammiferi di eguale lunghezza formo i lati di un parallelogramma.  Verifico che nelle sue diagonali ci stanno esattamente 7 e 9 fiammiferi.  Di quanti fiammiferi si compone il perimetro del parallelogramma?     

Il problema può essere affrontato a gruppi.
Sopra è rappresentata la soluzione (in due disposizioni alternative): due lati formati da 4 fiammiferi e due da 7 fiammiferi, per un totale di 22 fiammiferi.

Uno dei modi possibili per risolverlo: tener conto che le due diagonali dividono ciascuna il parallogramma in due triangoli uguali, e che i triangoli formati da una diagonale devono essere (in quanto metà della stesso paralleogramma) uguali a quelli formati dall'altra diagonale; usando la formula di Erone per calcolare l'area dei due triangoli impongo l'eguaglianza e verifico per quali valori interi del lato di base e dell'altro lato essa si verifica. Ecco sotto i calcoli fatti con R [AREAT(a,b,c) calcola l'area del triangolo di lati a,b,c con la cosiddetta "formula di Erone"].

# Ecco come sono stati fatti i calcoli con R (vedi):
source("http://macosa.dima.unige.it/r.R")
# indico con b il lato di base, con L l'altro lato 
# impongo che le metà determinate dalle due diagonali siano =
A1 = function(L) AREAT(b,L,9)   # area triangolo di lati b,L,9
A2 = function(L) AREAT(b,L,7)
F = function(L) A1(L) - A2(L)   # devo cercare quando F si azzera
# provo con questa b e cerco eventuale L
b = 3  ; for(L in 1:12) if(b+L > 9) print(F(L))
# nessun OK
b = 4  ; for(L in 1:12) if(b+L > 9) print( c(L,F(L)) )
# 6.000000 -2.414244
# 7 0
# 8.000000 2.000279
# 9.000000 4.133521
# 10.000000  7.055622
# 11.00000 16.97056
b = 5  ; for(L in 1:12) if(b+L > 9) print( c(L,F(L)) )
# nessun OK
b = 6  ; for(L in 1:12) if(b+L > 9) print( c(L,F(L)) )
# nessun OK
b = 7  ; for(L in 1:12) if(b+L > 9) print( c(L,F(L)) )
#  3.000000 -1.470454
# 4 0
# 5.000000 1.066409
# 6.000000 2.002511
# 7.00000 2.91094
# 8.000000 3.854565
# 9.000000 4.891905
# 10.00000  6.09922
# 11.000000  7.603841
# 12.000000  9.671644
b = 8  ; for(L in 1:12) if(b+L > 9) print( c(L,F(L)) )
# nessun OK

Il quesito era stato proposto alcuni anni fa in una gara di matematica svolta in Germania.