verander je die 5 in het gewenste aantal rijen*kolommen.
Bij 4 werkt dit als een trein, vanaf 5 (en zeker 6) blokkeer je !
Code:
Const AantalRijenKolommen = 5
Even kijken of je kan volgen naar de betekenis van de kolommen K:L
Je vult achtereenvolgens de kolommen van de 1e rij, daarna de 2e rij etc.
In K schrijf je het aantal 3-lettercombinaties die nog overblijven, in L schrijf je het aantal 3-lettercombinaties die nog mogelijk zijn in die cel.
bv. rij1 = net voor je de 1e cel (dus A1) invult heb je nog alle mogelijkheden of 15!/5!/3!=455
A1 werd "CEJ". Daarna wil je B1 invullen. Voor je die invult zijn er maar 430 mogelijkheden meer (alle 2-lettercombinaties CE CJ en EJ zijn verdwenen), maar in die cel mogen er ook geen letters C,E of J meer voorkomen, dus B1 heeft maar 220 mogelijkheden meer.
B1 werd "AGI", dus vervallen de 2-lettercombinaties AG, AI en GI, dus nog 405 3-lettercombinaties voor de rest van het rooster en zonder de letters A, G en I nog 84 mogelijke combinaties voor de cel C1
C1 werd "BHK", zonder BH, BK en HK zijn er nog 380 mogelijke 3-lettercombinaties voor de rest van het rooster en 20 3-lettercombinaties voor D1
D1 werd "DFN", daardoor zijn er nog 355 3-lettercombinaties voor de rest van het rooster en natuurlijk maar 1 3-lettercombinatie meer voor E1. Die 1 is logisch, je had 15 mogelijke letters en je had er al 3*4=12 gebruikt, dus zijn er maar 3 letters meer over.
Op naar de 2e rij.
voor je A2 invult heb je nog 330 3-lettercombinaties over, waarvan er 144 gebruikt kunnen worden in A2, want de letter C, E en J die in A1 stonden mogen ook niet meer gebruikt worden.
Je gaat zo verder tot E2 en daar had je ook nog geluk 250 resterende 3-lettercombinaties en die ene combinatie om de 2e rij succesvol af te ronden.
Idem 3e rij en voor het invullen van E3 had je nog 171 en 1 combinaties over
Idem 4e rij met voor E4 had je nog 114 en 1 combinaties over.
Op naar de laatste rij. Omdat daarboven al 4 rijen ingevuld zijn, zijn er al 12 van de 15 letters opgebruikt en dus is het logisch dat er maar 1 combinatie over is. Nu nog even het geluk op onze kant hebben, want de letter mogen in de rij ook nog niet gebruikt zijn. Dat lukt nog net voor A5 en B5, maar voor C5 houdt het op.
Nu denk ik wel dat dat 5*5 rooster met de nodige brutale rekenkracht op te lossen is. Laat de macro maar 2 dagen draaien en hij zal wel dat ene rooster vinden.
Maar dan een 6*6 rooster, daar geraak ik nooit aan de laatste rij tenzij ik de macro misschien een week laat draaien, dus daar zal een iets slimmer algoritme nodig zijn.
Dus ik gooi je handdoek.